Pod Suspend — temporarily pause a Pod without deleting it.
1apiVersion: apps/v12kind: Deployment3metadata:4 name: myapp5spec:6 replicas: 37 template:8 metadata:9 labels:10 app: myapp11 spec:12 # Suspended: containers won't run13 # This field is managed by controllers, not set directly14 containers:15 - name: app16 image: myapp:latest17 resources:18 requests:19 cpu: "500m"20 memory: "256Mi"
1# Suspend a Deployment2kubectl patch deployment myapp -p '{"spec":{"suspend":true}}'34# Resume a Deployment5kubectl patch deployment myapp -p '{"spec":{"suspend":false}}'67# Suspend a CronJob8kubectl patch cronjob myjob -p '{"spec":{"suspend":true}}'910# Suspend a StatefulSet11kubectl patch statefulset myapp -p '{"spec":{"suspend":true}}'1213# Check suspension status14kubectl get deployment myapp -o jsonpath='{.spec.suspend}'15kubectl get pods -l app=myapp1617# Verify Pods are terminated18kubectl get pods -l app=myapp -o wide1920# Watch for changes21kubectl get deployment myapp -w22kubectl get pods -l app=myapp -w
Behavior:
Use cases: