Kubernetes Workloads Cheat Sheet

Deployments, StatefulSets, DaemonSets, Jobs, CronJobs, autoscaling, rollouts, and workload maintenance.

View
StandardDetailedCompact
Export
Copy the compact sheet, download it, or print it.
Download
`D` dense toggle · `C` copy all
## Deployments
List deployments
kubectl get deployments -A

# Show deployments across namespaces.

Describe deployment
kubectl describe deployment web -n payments

# Inspect rollout state, replicas, and events.

Update deployment image
kubectl set image deployment/web web=ghcr.io/acme/web:2.4.1 -n payments

# Roll out a new container image.

Set deployment resources
kubectl set resources deployment/web -c web --limits=cpu=500m,memory=512Mi --requests=cpu=200m,memory=256Mi -n payments

# Update requests and limits from the CLI.

Set environment variable
kubectl set env deployment/web APP_ENV=production -n payments

# Set or update environment variables.

Watch rollout status
kubectl rollout status deployment/web -n payments

# Block until the rollout finishes or fails.

Show rollout history
kubectl rollout history deployment/web -n payments

# List deployment revisions.

Undo deployment rollout
kubectl rollout undo deployment/web -n payments

# Roll back to the previous revision.

Undo to specific revision
kubectl rollout undo deployment/web --to-revision=3 -n payments

# Roll back to a chosen revision.

Restart deployment
kubectl rollout restart deployment/web -n payments

# Trigger a restart without changing the image.

## StatefulSets and DaemonSets
List statefulsets
kubectl get statefulsets -A

# Show StatefulSets across namespaces.

Describe statefulset
kubectl describe statefulset postgres -n data

# Inspect ordinal pods, PVCs, and update strategy.

Scale statefulset
kubectl scale statefulset postgres --replicas=3 -n data

# Change StatefulSet replica count.

Watch statefulset rollout
kubectl rollout status statefulset/postgres -n data

# Wait for StatefulSet updates to finish.

List daemonsets
kubectl get daemonsets -A

# Show DaemonSets across namespaces.

Describe daemonset
kubectl describe daemonset node-exporter -n observability

# Inspect node coverage and update status.

Restart daemonset
kubectl rollout restart daemonset/node-exporter -n observability

# Trigger a rolling restart for a DaemonSet.

Watch daemonset rollout
kubectl rollout status daemonset/node-exporter -n observability

# Watch daemonset rollout status.

## Jobs and CronJobs
List jobs
kubectl get jobs -A

# Show Jobs across namespaces.

Describe job
kubectl describe job db-migrate -n data

# Inspect completions, pods, and failures.

Delete job
kubectl delete job db-migrate -n data

# Remove a finished or failed Job.

Create job from cronjob
kubectl create job --from=cronjob/nightly-backup manual-backup-20260305 -n ops

# Trigger an ad hoc run from an existing CronJob.

List cronjobs
kubectl get cronjobs -A

# Show CronJobs across namespaces.

Describe cronjob
kubectl describe cronjob nightly-backup -n ops

# Inspect the cron schedule, history limits, and concurrency policy.

Suspend cronjob
kubectl patch cronjob nightly-backup -n ops -p '{"spec":{"suspend":true}}'

# Pause CronJob scheduling without deleting it.

Resume cronjob
kubectl patch cronjob nightly-backup -n ops -p '{"spec":{"suspend":false}}'

# Resume a suspended CronJob.

## Autoscaling
Create HPA
kubectl autoscale deployment web --cpu-percent=70 --min=2 --max=10 -n payments

# Create a HorizontalPodAutoscaler for a deployment.

List HPAs
kubectl get hpa -A

# Show HorizontalPodAutoscalers.

Describe HPA
kubectl describe hpa web -n payments

# Inspect metrics, thresholds, and scaling recommendations.

Scale replicaset
kubectl scale replicaset web-7cbb9f9d44 --replicas=0 -n payments

# Directly scale a ReplicaSet when needed.

List replicasets
kubectl get rs -n payments

# Show ReplicaSets created by Deployments.

Describe replicaset
kubectl describe rs web-7cbb9f9d44 -n payments

# Inspect pod template and controller ownership.

## Advanced Pod and Controller Operations
Wait for pods to become ready
kubectl wait --for=condition=Ready pod -l app=web -n payments --timeout=180s

# Wait on readiness conditions.

Wait for deployment availability
kubectl wait --for=condition=Available deployment/web -n payments --timeout=180s

# Block until a deployment is available.

Patch scale subresource
kubectl patch deployment web --subresource=scale -p '{"spec":{"replicas":8}}' -n payments

# Update the scale subresource directly.

Get pods with owner references
kubectl get pods -n payments -o custom-columns=NAME:.metadata.name,OWNER:.metadata.ownerReferences[0].name

# Show which controller owns each pod.

Drain node
kubectl drain worker-02 --ignore-daemonsets --delete-emptydir-data

# Safely evict workloads before maintenance.

Uncordon node
kubectl uncordon worker-02

# Allow new pods to schedule on a node again.

Cordon node
kubectl cordon worker-02

# Mark a node unschedulable.