kubectl Deployments commands
32 commands in 4 groups: Manage, Scale, Rollout, List & Inspect. Click or tap any command to copy it. Official documentation: kubernetes.io.
Open in the interactive cheat sheet search, stars and every other section
Manage
Apply manifests, create and modify deployments imperatively, and remove them from the cluster.
kubectl apply -f <directory>/
Apply all manifests in a directory
kubectl apply -f <file.yaml>
Apply a manifest from file
kubectl create deployment <name> --image=<image>
Create a deployment imperatively
kubectl create deployment <name> --image=<image> --replicas=<n>
Create deployment with replica count
kubectl delete deployment <name>
Delete a deployment
kubectl delete -f <file.yaml>
Delete resources defined in file
kubectl delete deploy --all -n <namespace>
Delete all deployments in namespace
kubectl diff -f <file.yaml>
Preview changes before applying deployment
kubectl edit deployment <name>
Edit deployment in $EDITOR
kubectl patch deploy/<name> -p '{"spec":{"replicas":3}}'
Patch deployment with JSON
kubectl set env deploy/<name> <KEY>=<VALUE>
Set or update environment variable
kubectl set image deploy/<name> <container>=<image>
Update container image
kubectl set resources deploy/<name> --limits=cpu=500m,memory=512Mi
Set resource limits on containers
Scale
Adjust replica count manually or automatically with a Horizontal Pod Autoscaler.
kubectl autoscale deploy/<name> --min=2 --max=10 --cpu=80%
Create Horizontal Pod Autoscaler
kubectl delete hpa <name>
Delete an autoscaler
kubectl get hpa
List Horizontal Pod Autoscalers
kubectl scale deploy/<name> --replicas=<n>
Scale deployment to N replicas
Rollout
Track, pause, resume, and roll back deployment updates across revisions.
kubectl annotate deploy/<name> kubernetes.io/change-cause="<message>"
Set change cause shown in rollout history
kubectl rollout history deploy/<name>
Show revision history
kubectl rollout pause deploy/<name>
Pause an in-progress rollout
kubectl rollout restart deploy/<name>
Trigger a rolling restart
kubectl rollout resume deploy/<name>
Resume a paused rollout
kubectl rollout status deploy/<name>
Watch rollout progress
kubectl rollout undo deploy/<name>
Rollback to previous revision
kubectl rollout status deploy/<name> --timeout=<duration>
Wait for rollout with bounded timeout (CI-friendly)
kubectl rollout undo deploy/<name> --to-revision=<n>
Rollback to specific revision
kubectl wait --for=condition=Available deployment/<name>
Wait until deployment is Available
List & Inspect
View deployments and their current state, replica count, and age.
kubectl describe deployment <name>
Full deployment details and events
kubectl get deployments
List deployments in current namespace
kubectl get deploy -A
All deployments across namespaces
kubectl get deploy -n <namespace>
Deployments in a specific namespace
kubectl get deployment <name> -o yaml
Get deployment manifest as YAML