Redeploy containers
Redeploy all deployments in a given namespace:
kubectl rollout restart deployment -n [namespace]
Isolate node
Isolate a node to prevent new work being scheduled:
kubectl cordon <node name>
Un-isolate a node:
kubectl uncordon <node name>
Display logs
Display the events:
kubectl get events kubectl get events -n [namespace]
Display pod's logs:
kubectl logs hello-node-7bf65 # filter logs by label kubectl logs -l app=hello-node # stream output kubectl logs -f hello-node-7bf65 # last hour's logs kubectl logs --since=1h -lapp=hello-node
Display logs of a Pod's init-container "setup-replica-data-directory":
kubectl logs hello-node-7bf65 -c setup-replica-data-directory
Display a service's logs:
kubectl logs services/hello-node
Connect to a container
Run a command in a pod:
kubectl exec -it <podName> -- [command] kubectl exec hello-7bf -- nslookup zookeeper
Access in shell mode into a pod:
kubectl exec -it <podName> bash kubectl exec -it hello-7bf bash
"Get" and "describe" commands
List all resources:
kubectl get all -o wide
You can also use an alias to list resources in Kubernetes
List nodes:
kubectl get nodes -o wide
List pods:
kubectl get pods -o wide kubectl get pods -w -o wide # -w to stream output kubectl get pods -o wide --all-namespaces kubectl get pods -o wide -l app=nginx # Add the columns for label’s keys “app”, “tier” and “role” kubectl get pods -Lapp -Ltier -Lrole
View a pod's details:
# get pod’s yaml kubectl get pod hello-node-7bf657c596-2qfrr -o yaml # describe pod's properties kubectl describe pod hello-node-7bf657c596-2qfrr
View a service's details:
kubectl describe services/hello-node
List many resources, services, storage classes, persistence volumes and persistence volume claims:
kubectl get svc,sc,pv,pvc -o wide
Port forwarding
Create a port forwarding of a container to localhost:8080 :
kubectl port-forward svc/wordpress 8080:80