CKAD Application Deployment Practice Question
Which kubectl command can you use to pause a rolling update of a Deployment?
⚠ Common exam trap
The CKAD exam often tests the distinction between `pause` and `suspend` or `stop`, expecting candidates to know that `kubectl rollout pause` is the only valid command for temporarily halting a rolling update.
Answer choices
Why each option matters
Answer the question above first, then reveal the full breakdown to understand why each option is right or wrong.
Correct answer & explanation
✓
kubectl rollout pause deployment/my-deployment
The correct command to pause a rolling update of a Deployment is `kubectl rollout pause deployment/my-deployment`. This command temporarily halts the rollout process, allowing you to make changes or investigate issues without triggering a new revision. The `kubectl rollout` subcommand is specifically designed for managing Deployment rollouts, and `pause` is the correct verb to suspend the update.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✓
kubectl rollout pause deployment/my-deployment
Why this is correct
`kubectl rollout pause deployment/my-deployment` is the correct command because it updates the Deployment's `.spec.paused` field to `true`, signaling the deployment controller to stop progressing the current rollout. The running Pods and existing ReplicaSets remain untouched, but any template changes you've made are held back until you run `kubectl rollout resume`. This gives you a controlled window to verify or modify configuration mid-stream.
- ✗
kubectl rollout suspend deployment/my-deployment
Why it's wrong here
`kubectl rollout suspend deployment/my-deployment` is wrong because `suspend` is not a recognized subcommand of `kubectl rollout`. The Kubernetes CLI only supports `pause`, `resume`, `status`, `history`, `undo`, and `restart` for rollout management. While `suspend` exists in other Kubernetes resources like CronJob (to disable future schedules), it is not valid for controlling an in-progress Deployment rollout, and this command will fail with an unknown command error.
- ✗
kubectl rollout stop deployment/my-deployment
Why it's wrong here
`kubectl rollout stop deployment/my-deployment` is invalid because `stop` is not a subcommand of `kubectl rollout`. This verb often gets confused with either pausing or shutting down a workload, but the API server has no such rollout operation; the Deployment controller only understands `pause` as the way to halt progress. Issuing this would result in `error: unknown command`, and the correct way to temporarily halt a rollout is to use `pause` instead.
- ✗
kubectl rollout halt deployment/my-deployment
Why it's wrong here
`kubectl rollout halt deployment/my-deployment` is not a valid command, as the Kubernetes CLI has never implemented a `halt` verb for rollouts. Unlike `pause`, which is a well-documented flag on the Deployment object, `halt` is not part of the rollout command group, so the command returns an unrecognized subcommand error. To freeze a Deployment's rollout for debugging or manual intervention, you must use `kubectl rollout pause`, not a made-up synonym.
Go deeper
Related to this question
About these practice questions
One of 826 original CKAD practice questions on Courseiva, each with a full explanation and wrong-answer analysis — not exam dumps or protected exam content. Learn why practice questions differ from exam dumps →
JA
Written by Johnson Ajibi, MSc IT Security
Senior Network & Security Engineer · founder of Courseiva
This CKAD practice question is part of Courseiva's free CNCF certification practice question bank. Courseiva provides original exam-style practice questions with explanations, topic-based practice, mock exams, readiness tracking, and study analytics to help learners prepare for the CKAD exam.