This is a list of useful kubernetes command, that I used mostly. I hope this list be useful for you too.
Deploy Docker image in Kubernetes
kubectl run hw --image=karthequian/helloworld --port=80
kubectl create -f test.yaml
kubectl apply -f test.yaml
Get list of deployments
kubectl get deployments
kubectl get deployment/hw -o yaml
Get list of replica sets
kubectl get rs
Get list of pods
kubectl get pods
kubectl get pods --show-all (List of pods in all namespaces)
Get list of services
kubectl get services
Get list of all resources
kubectl get all
Get list of pods (Search with labels)
kubectl get pods --show-labels
kubectl get pods --selector env=production
kubectl get pods -l env=production
kubectl get pods --selector env!=production
kubectl get pods --selector env=production,group=finance
kubectl get pods --selector 'release-version in (1.0,1.2)'
kubectl get pods --selector 'release-version not in (1.0,1.2)'
kubectl get pods --field-selector status.phase=Failed
Tag Resources with labels
kubectl label pod/hw app=HelloWorldApp --overwrite
kubectl label pod/hw app-
Delete pods with labels
kubectl delete pods -l env=production
kubectl delete pods --selector env=production
Rescale Deployments
kubectl scale deployment/hw --replicas=1
Deploy the new Image in Deployment with Rollback feature
kubectl create -f test.yaml --record
kubectl set image deployment/hw hw=karthequian/helloworld:blue
kubectl rollout history deployment/hw
kubectl rollout undo deployment/hw
kubectl rollout undo deployment/hw --to-revision =1
Expose Deployment to outside Kubernetes
kubectl expose deployment hw --type=NodePort
kubectl expose deployment kubernetes-dashboard --name=kubernetes-dashboard-expose --type=NodePort -n kube-system
kubectl expose deployment kubernetes-dashboard --name=kubernetes-dashboard-expose --type=NodePort --target-port=8443 -n kube-system
View logs of pod
kubectl logs hw-hdklajh555
Execute command in a container
kubectl exec -it hw-hdklajh555 /bin/bash (pod with single container)
kubectl exec -it hw-hdklajh555 -c hw /bin/bash (pod with multi container)
Manage Config Map
kubectl create configmap logger --from-literal=log_level=error
kubectl get configmaps
kubectl get configmap/logger -o yaml
Manage Secrets
kubectl create secret generic api-key --from-literal=api-key=123445
kubectl get secrets
kubectl get secret api-key
kubectl -n kube-system describe secret default
Manage Jobs/CronJobs
kubectl get jobs
kubectl get cronjobs
kubectl edit cronjobs/hellocron
Describe Resources
kubectl describe deployment/hw
kubectl describe pod/hw-hdklajh555