Cluster Info
kubectl cluster-info Display cluster info kubectl get nodes List all nodes kubectl get nodes -o wide Nodes with details kubectl describe node <name> Node details kubectl top nodes Node resource usage kubectl api-resources List API resources Pods
kubectl get pods List pods in namespace kubectl get pods -A List all pods kubectl get pods -o wide Pods with node info kubectl describe pod <name> Pod details kubectl logs <pod> Pod logs kubectl logs -f <pod> Follow logs kubectl logs <pod> -c <container> Container logs kubectl exec -it <pod> -- /bin/sh Shell into pod kubectl delete pod <name> Delete pod kubectl top pods Pod resource usage Deployments
kubectl get deployments List deployments kubectl describe deployment <name> Deployment details kubectl scale deployment <name> --replicas=3 Scale deployment kubectl rollout status deployment/<name> Rollout status kubectl rollout history deployment/<name> Rollout history kubectl rollout undo deployment/<name> Rollback kubectl set image deployment/<name> <container>=<image> Update image Services
kubectl get svc List services kubectl get svc -o wide Services with details kubectl describe svc <name> Service details kubectl expose deployment <name> --port=80 --type=LoadBalancer Expose deployment kubectl port-forward svc/<name> 8080:80 Port forward ConfigMaps & Secrets
kubectl get configmaps List ConfigMaps kubectl get secrets List Secrets kubectl create configmap <name> --from-file=<path> Create from file kubectl create secret generic <name> --from-literal=key=value Create secret kubectl get secret <name> -o jsonpath="{.data.password}" | base64 -d Decode secret Namespaces
kubectl get namespaces List namespaces kubectl create namespace <name> Create namespace kubectl config set-context --current --namespace=<name> Switch namespace kubectl delete namespace <name> Delete namespace Apply & Create
kubectl apply -f <file.yaml> Apply manifest kubectl apply -f <directory>/ Apply directory kubectl create -f <file.yaml> Create resource kubectl delete -f <file.yaml> Delete from manifest kubectl diff -f <file.yaml> Diff before apply Debugging
kubectl get events --sort-by=.metadata.creationTimestamp Recent events kubectl get pods --field-selector=status.phase=Failed Failed pods kubectl run debug --image=busybox -it --rm -- /bin/sh Debug pod kubectl auth can-i create pods Check permissions kubectl explain pod.spec.containers API docs Context & Config
kubectl config get-contexts List contexts kubectl config current-context Current context kubectl config use-context <name> Switch context kubectl config view View kubeconfig