Kubectl Usage
Kubeadm initial commands
sudo kubeadm init --pod-network-cidr=nnn.nnn.nnn.nnn/nn --apiserver-advertise-address=nnn.nnn.nnn.nnn
kubeadm token create --print-join-command
Cluster details
kubectl cluster-info
kubectl api-versions
kubectl api-resources
kubectl api-resources --namespaced
Describe
kubectl describe pod POD
kubectl describe svc SERVICE
kubectl describe deploy DEPLOYMENT
kubectl describe sts STATEFULSET
kubectl describe cm/CONFIGMAP
kubectl describe secret/SECRET
kubectl describe sa/SERVICEACCOUNT
kubectl describe role/ROLE
kubectl describe rb/ROLEBINDING
Create and Update
Deploy
kubectl create -f FILE.yaml
kubectl apply -f FILE.yaml
Login Shell
kubectl exec -it POD -- COMMAND
Environment variable
kubectl exec POD -- env
kubectl exec POD -- printenv
Delete
kubectl delete pod POD
kubectl delete svc SERVICE
kubectl delete deploy DEPLOYMENT
kubectl delete sts STATEFULSET
kubectl delete pods -l <key>=<value>
kubectl delete pods --field-selector spec.nodeName=<node>
Delete pod immediately
kubectl delete pod POD --force --grace-period 0
Copy files
kubectl cp POD:/file ./
kubectl cp ./ POD:/file
Rollout
kubectl rollout restart pod POD
kubectl rollout restart deploy DEPLOYMENT
kubectl rollout restart svc SERVICE
kubectl rollout restart sts STATEFULSET
kubectl rollout status deploy DEPLOYMENT
kubectl rollout history deploy DEPLOYMENT
kubectl rollout history deploy DEPLOYMENT --revision=N
kubectl rollout undo deployment DEPLOYMENT --to-revision=N