CKA Workloads and Scheduling Practice Question
Which kubectl command will show the rollout history of a Deployment named 'web-app'?
⚠ Common exam trap
A common mix-up: candidates confuse `rollout status` (which shows live progress) with `rollout history` (which shows past revisions), or assume `describe` or `get -o yaml` will expose the revision list, but neither command formats the rollout history in the concise, revision-based output that `rollout history` provides.
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 history deployment web-app
`kubectl rollout history deployment web-app` is the dedicated command to display the rollout history of a Deployment, including revision numbers and change-cause annotations. This command retrieves the stored ReplicaSet revisions associated with the Deployment, allowing you to see past rollout states.
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 describe deployment web-app
Why it's wrong here
kubectl describe deployment web-app is incorrect because it renders the Deployment's current configuration, status conditions, events, and other metadata, but it does not aggregate the historical revisions or their change causes. The describe output does include the current revision in the annotations or status, but it never lists previous rollout revisions or the full revision history, so it cannot answer "what rollouts happened before."
- ✗
kubectl rollout status deployment web-app
Why it's wrong here
kubectl rollout status deployment web-app is incorrect because it is a blocking, real-time command that tracks the progress of an in-progress rollout until it finishes (or times out), reporting events like "Waiting for rollout to finish" or "successfully rolled out." It does not display a list of prior revisions, change causes, or the sequence of historical rollouts; it only reflects the current state of the latest rollout.
- ✓
kubectl rollout history deployment web-app
Why this is correct
kubectl rollout history deployment web-app is correct because it is the dedicated kubectl subcommand for viewing the Deployment's rollout history. It lists all revisions with their change-cause annotations (if set), and can be combined with --revision to inspect a specific revision; this history is actually derived from the underlying ReplicaSets created for each change to the pod template.
- ✗
kubectl get deployment web-app -o yaml
Why it's wrong here
kubectl get deployment web-app -o yaml is incorrect because it outputs the complete Deployment manifest in YAML, including the live spec, status, annotations, and labels, but it does not expose the rollout history as a list. The Deployment status might contain the currentRevision field, but it does not contain the per-revision change-cause history or the set of ReplicaSets that represent each historical rollback candidate.
Go deeper
Related to this question
About these practice questions
One of 302 original CKA 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 CKA 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 CKA exam.