0
0
KubernetesHow-ToBeginner · 3 min read

How to Pause and Resume Kubernetes Deployment Easily

Use kubectl rollout pause deployment/DEPLOYMENT_NAME to pause a Kubernetes deployment and kubectl rollout resume deployment/DEPLOYMENT_NAME to resume it. Pausing stops new updates from being applied, letting you control when changes happen.
📐

Syntax

The commands to pause and resume a deployment use the kubectl rollout subcommands. Replace DEPLOYMENT_NAME with your deployment's name.

  • kubectl rollout pause deployment/DEPLOYMENT_NAME: Pauses the deployment rollout.
  • kubectl rollout resume deployment/DEPLOYMENT_NAME: Resumes the paused deployment rollout.
bash
kubectl rollout pause deployment/DEPLOYMENT_NAME
kubectl rollout resume deployment/DEPLOYMENT_NAME
💻

Example

This example shows how to pause a deployment named webapp, check its status, then resume it.

bash
kubectl create deployment webapp --image=nginx
kubectl rollout pause deployment/webapp
kubectl rollout status deployment/webapp
kubectl rollout resume deployment/webapp
kubectl rollout status deployment/webapp
Output
deployment.apps/webapp created deployment.apps/webapp paused Waiting for deployment "webapp" rollout to finish: 0 of 1 updated replicas are available... deployment.apps/webapp resumed deployment "webapp" successfully rolled out
⚠️

Common Pitfalls

Common mistakes include:

  • Trying to pause or resume a deployment that does not exist, causing errors.
  • Not checking the rollout status after resuming, missing if the deployment failed.
  • Confusing kubectl rollout pause with stopping pods; pause only stops new updates.
bash
kubectl rollout pause deployment/nonexistent
# Error: deployments.apps "nonexistent" not found

# Correct usage:
kubectl rollout pause deployment/webapp
Output
error: deployments.apps "nonexistent" not found
📊

Quick Reference

CommandDescription
kubectl rollout pause deployment/DEPLOYMENT_NAMEPause deployment rollout to stop updates
kubectl rollout resume deployment/DEPLOYMENT_NAMEResume paused deployment rollout
kubectl rollout status deployment/DEPLOYMENT_NAMECheck rollout status of deployment

Key Takeaways

Use kubectl rollout pause to stop deployment updates temporarily.
Resume updates anytime with kubectl rollout resume.
Always check rollout status to confirm deployment progress.
Pausing does not stop running pods, only new updates.
Ensure deployment name is correct to avoid errors.