CKAD Application Deployment Practice Question
Which kubectl command shows the rollout history of a Deployment named 'app'?
⚠ Common exam trap
Many exam-takers confuse `rollout status` (which shows current progress) with `rollout history` (which shows past revisions), or they assume `describe` or `get events` would provide the same historical data, but neither command offers the structured revision list that `rollout history` does.
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 app
`kubectl rollout history deployment app` is the specific command designed to display the revision history of a Deployment, including revision numbers and, if configured, the change-cause annotation. This command retrieves the stored rollout history from the Deployment's annotation `deployment.kubernetes.io/revision` and lists all previous ReplicaSets that were created during rollouts.
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 status deployment app
Why it's wrong here
The `kubectl rollout status deployment app` command waits for and reports the live progress of a currently in-progress rollout, such as whether it is pending, running, or successfully completed. It does not enumerate prior revisions or their corresponding change causes. Because it is a synchronous status check rather than a historical listing, it cannot answer a question about the deployment's rollout history.
- ✗
kubectl describe deployment app
Why it's wrong here
The `kubectl describe deployment app` command provides a comprehensive snapshot of the Deployment's current desired state, status, labels, selectors, and events, including the current revision annotation. However, it only shows the present configuration and the latest rollout state; it does not list previous ReplicaSets or revision history with their respective images and change causes. Describing a resource is not the same as accessing the rollout revision log.
- ✓
kubectl rollout history deployment app
Why this is correct
The `kubectl rollout history deployment app` command is the dedicated subcommand that displays the rollout history for a Deployment, showing an ordered list of revisions, each with its revision number and, if specified, the change cause from the `kubernetes.io/change-cause` annotation. This output directly reveals how the Deployment has evolved over time, making it the correct choice for viewing rollout history. Additionally, you can use the `--revision` flag to inspect a specific historical revision's detailed configuration.
- ✗
kubectl get events --field-selector involvedObject.kind=Deployment
Why it's wrong here
The `kubectl get events --field-selector involvedObject.kind=Deployment` command fetches only the cluster events related to Deployment objects, such as scaling, scheduling, and update notes. Events are ephemeral by design, typically retained only for a short period and pruned by the kubelet or controller-manager, and they are not a structured, permanent record of each rollout revision. While events can occasionally mention a rollout, they lack the deterministic revision list and change-cause details that a true rollout history provides.
Go deeper
Related to this question
About these practice questions
This CKAD question is part of Courseiva's 826-question bank — original exam-style content with full explanations and wrong-answer analysis, never real exam questions or exam dumps. 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.