Kubectl Cheat-Sheet
Contexts and Configuration
kubectl config view
Show the current kubeconfig file
kubectl config get-contexts
List all contexts in the kubeconfig file
kubectl config current-context
Show the current context
kubectl config use-context <context>
Change the current context
kubectl config set-context <context> --namespace=<namespace>
Set the namespace for a context
kubectl config set-context <context> --cluster=<cluster>
Set the cluster for a context
kubectl config set-context <context> --user=<user>
Set the user for a context
kubectl config set-context <context> --namespace=<namespace> --cluster=<cluster> --user=<user>
Set all context properties
Cluster Management
kubectl cluster-info
Display addresses of the master and services
kubectl get nodes
List all nodes in the cluster
kubectl get pods
List all pods in the cluster
kubectl get services
List all services in the cluster
kubectl get deployments
List all deployments in the cluster
kubectl get namespaces
List all namespaces in the cluster
kubectl get events
List all events in the cluster
Resource Management
kubectl apply -f <file>
Apply a configuration file
kubectl delete -f <file>
Delete a configuration file
kubectl get <resource>
List all resources of a type
kubectl describe <resource> <name>
Describe a resource
kubectl edit <resource> <name>
Edit a resource
kubectl exec -it <pod> -- <command>
Execute a command in a pod
Pod Management
kubectl run <name> --image=<image>
Create a new pod
kubectl delete pod <name>
Delete a pod
kubectl get pod <name>
Get details of a pod
kubectl describe pod <name>
Describe a pod
kubectl logs <name>
Show logs of a pod
kubectl exec -it <name> -- /bin/bash
Execute a command in a pod
kubectl cp <pod>:<source> <destination>
Copy files from a pod
kubectl top node
Show metrics for all nodes
kubectl top pod
Show metrics for all pods
kubectl top pod <name>
Show metrics for a specific pod
Service Management
kubectl expose pod <name> --port=444 --target-port=555
Expose a pod as a service
kubectl delete service <name>
Delete a service
kubectl get service <name>
Get details of a service
kubectl describe service <name>
Describe a service
Deployment Management
kubectl create deployment <name> --image=<image>
Create a new deployment
kubectl delete deployment <name>
Delete a deployment
kubectl get deployment <name>
Get details of a deployment
kubectl describe deployment <name>
Describe a deployment
kubectl scale deployment <name> --replicas=3
Scale a deployment to 3 replicas
kubectl rollout status deployment/<name>
Check the status of a deployment rollout
kubectl rollout history deployment/<name>
Show the history of a deployment rollout
kubectl rollout undo deployment/<name>
Rollback a deployment to the previous version
kubectl rollout undo deployment/<name> --to-revision=1
Rollback a deployment to a specific revision
Namespace Management
kubectl create namespace <name>
Create a new namespace
kubectl delete namespace <name>
Delete a namespace
kubectl get namespace <name>
Get details of a namespace
kubectl describe namespace <name>
Describe a namespace