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
