Show cluster status
Check deployment status:
kubectl cluster-info
kubectl get namespace
kubectl get deployments # Show deployments in default namespace
kubectl get deployments -n <namespace> # Show deployment status in specific namespace
kubectl get pods
kubectl get pods -n <namespace>
kubectl get pods --all-namespaces -o wide # Shows all pods accross all namespaces
kubectl get service
kubectl get service -n <namespace>
kubeadm token create --print-join-command # Show the join command for adding worker nodes
kubectl scale --replicas=0 deployment/<your-deployment>
kubectl label node <nodename> <labelname>=allow # Add label to node
kubectl label node <nodename> <labelname>- # Remove label from node
Delete a pod and namespace
Method 1:
To delete everything from the current namespace (which is normally the default namespace) using kubectl delete:
kubectl delete all --all
all refers to all resource types such as pods, deployments, services, etc. –all is used to delete every object of that resource type instead of specifying it using its name or label.
To delete everything from a certain namespace you use the -n flag:
kubectl delete all --all -n <namespace>
Method 2:
You can also delete a namespace and re-create it. This will delete everything that belongs to it:
kubectl delete namespace <namespace>
kubectl create namespace <namespace>
Edit CoreDNS
kubectl -n kube-system edit configmap/coredns
Delete current coredns pod and let a new respawn
kubectl get pod -A
kubectl delete pod -n kube-system core-dns-#########
Delete multiple pods
kubectl delete --all pods --namespace=<namespace>
Updating Pod image
You need image: app-name:latest and imagePullPolicy: Always in your deployment and kubernetes 1.15 or newer
kubectl rollout restart deployment/DEPLOYMENTNAME