๐ง Kubernetes CLI Cheatsheet
๐ Cluster & Context Management
| Command | Description |
|---|---|
kubectl version | Show client/server versions |
kubectl cluster-info | Display cluster endpoints |
kubectl config view | View kubeconfig details |
kubectl config get-contexts | List available contexts |
kubectl config current-context | Show current context |
kubectl config use-context <name> | Switch context |
kubectl config set-context --current --namespace=<ns> | Set default namespace |
kubectl config set-cluster <name> | Define cluster in kubeconfig |
kubectl config set-credentials <user> | Add user credentials |
kubectl config unset <property> | Remove config entry |
๐ง Node Management
| Command | Description |
|---|---|
kubectl get nodes | List all nodes |
kubectl describe node <name> | Node details |
kubectl cordon <name> | Mark node unschedulable |
kubectl uncordon <name> | Mark node schedulable |
kubectl drain <name> | Evict pods for maintenance |
kubectl top node | Show node resource usage |
kubectl label node <name> key=value | Add label to node |
kubectl taint nodes <name> key=value:NoSchedule | Taint node |
kubectl get nodes -o wide | Extended node info |
kubectl get nodes --show-labels | Show node labels |
๐ฆ Namespace Management
| Command | Description |
|---|---|
kubectl get namespaces | List namespaces |
kubectl create namespace <name> | Create namespace |
kubectl delete namespace <name> | Delete namespace |
kubectl describe namespace <name> | Namespace details |
kubectl edit namespace <name> | Edit namespace |
๐ Resource Creation & Management
| Command | Description |
|---|---|
kubectl apply -f <file.yaml> | Apply config |
kubectl create -f <file.yaml> | Create from file |
kubectl create deployment <name> --image=<img> | Create deployment |
kubectl create service clusterip <name> --tcp=80:80 | Create service |
kubectl explain <resource> | Show resource schema |
๐ Viewing & Describing Resources
| Command | Description |
|---|---|
kubectl get <resource> | List resources |
kubectl get <resource> -o wide | Extended info |
kubectl get <resource> -n <ns> | In specific namespace |
kubectl get <resource> --all-namespaces | Across all namespaces |
kubectl describe <resource> <name> | Detailed info |
kubectl get <resource> -l key=value | Filter by label |
kubectl get <resource> --field-selector=key=value | Filter by field |
kubectl get events --sort-by=.metadata.creationTimestamp | Recent events |
kubectl api-resources | List resource types |
kubectl api-versions | List API versions |
๐งน Deleting Resources
| Command | Description |
|---|---|
kubectl delete <resource> <name> | Delete resource |
kubectl delete -f <file.yaml> | Delete from file |
kubectl delete <resource> --all | Delete all of type |
kubectl delete <resource> -l key=value | Delete by label |
kubectl delete pod <name> --grace-period=0 --force | Force delete pod |
๐งฌ Pod Management
| Command | Description |
|---|---|
kubectl get pods | List pods |
kubectl describe pod <name> | Pod details |
kubectl logs <pod> | View logs |
kubectl logs -f <pod> | Stream logs |
kubectl logs <pod> -c <container> | Logs from container |
kubectl exec -it <pod> -- /bin/bash | Shell into pod |
kubectl port-forward <pod> 8080:80 | Forward port |
kubectl attach <pod> | Attach to pod |
kubectl delete pod <name> | Delete pod |
kubectl get pod -n <ns> | Pods in namespace |
๐ Deployment & Rollout
| Command | Description |
|---|---|
kubectl get deployments | List deployments |
kubectl describe deployment <name> | Deployment details |
kubectl rollout status deployment/<name> | Rollout status |
kubectl rollout undo deployment/<name> | Rollback |
kubectl set image deployment/<name> <container>=<image> | Update image |
kubectl scale deployment <name> --replicas=<n> | Scale deployment |
kubectl edit deployment <name> | Edit deployment |
kubectl get rs | List ReplicaSets |
kubectl get hpa | List autoscalers |
kubectl autoscale deployment <name> --min=2 --max=5 --cpu-percent=80 | Create HPA |
๐งช Job & CronJob Management
| Command | Description |
|---|---|
kubectl create job <name> --image=<img> -- <cmd> | Create job |
kubectl get jobs | List jobs |
kubectl describe job <name> | Job details |
kubectl delete job <name> | Delete job |
kubectl create cronjob <name> --image=<img> --schedule="*/1 * * * *" -- <cmd> | Create cronjob |
kubectl get cronjobs | List cronjobs |
kubectl delete cronjob <name> | Delete cronjob |
๐ Secrets & ConfigMaps
| Command | Description |
|---|---|
kubectl create secret generic <name> --from-literal=key=value | Create secret |
kubectl get secrets | List secrets |
kubectl describe secret <name> | Secret details |
kubectl create configmap <name> --from-file=<file> | Create configmap |
kubectl get configmaps | List configmaps |
kubectl describe configmap <name> | Configmap details |
kubectl edit configmap <name> | Edit configmap |
kubectl delete configmap <name> | Delete configmap |
๐ Services & Networking
| Command | Description |
|---|---|
kubectl get svc | List services |
kubectl describe svc <name> | Service details |
kubectl expose deployment <name> --port=80 --target-port=8080 | Expose deployment |
kubectl port-forward svc/<name> 8080:80 | Forward service port |
kubectl get endpoints | List endpoints |