CKAD Application Deployment Practice Question
Which TWO commands can be used to view the rollout history of a Deployment?
⚠ Common exam trap
Candidates often confuse `kubectl rollout status` (which shows current rollout progress) with `kubectl rollout history` (which shows past revisions), or assume `kubectl describe` only shows current state, when in fact it includes the rollout history under the 'Conditions' and 'Events' sections.
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 describe deployment mydeployment
`kubectl describe deployment mydeployment` includes the rollout history in its output, showing revision numbers and timestamps of changes. Option E is correct because `kubectl rollout history deployment/mydeployment` is the dedicated command to display the rollout history, listing revisions and associated change causes.
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 get deployment mydeployment
Why it's wrong here
kubectl get deployment mydeployment prints a concise table showing desired, current, up-to-date, and available replicas, along with age, but it never displays ReplicaSet revisions or the sequence of updates that produced the current state. The output is a live status summary rather than an audit trail, so there is no way to see which ReplicaSets were previously active or how many revisions exist. Therefore it cannot be used to view rollout history.
- ✗
kubectl rollout status deployment/mydeployment
Why it's wrong here
kubectl rollout status deployment/mydeployment is a command that blocks and watches a rollout until it completes, reporting progress conditions such as 'Waiting for deployment spec update to be observed' or 'deployment successfully rolled out'. It is a real-time operational check of the current rollout process, not a retrospective view of past revisions. Because it terminates once the current rollout reaches its desired state, it provides no information about prior ReplicaSets or revision numbers.
- ✗
kubectl logs deployment/mydeployment
Why it's wrong here
kubectl logs deployment/mydeployment fetches the stdout/stderr output from the pods that belong to the deployment, typically aggregated across running replicas. Logs contain application-generated messages and have no relationship to the Deployment's revision metadata, ReplicaSet history, or rollout annotations. Even with --previous, it only shows the previous container instance in a pod restart context, not an older Deployment revision.
- ✓
kubectl describe deployment mydeployment
Why this is correct
kubectl describe deployment mydeployment gives a detailed multi-section view that includes the Annotations block, notably the deployment.kubernetes.io/revision annotation, which records the current rollout revision. It also lists ReplicaSet names under the Status section and surfaces Events that document previous scaling or update actions, giving a narrative of the rollout history. This makes it a valid, though less structured, way to view rollout history information compared to the dedicated rollout history command.
- ✓
kubectl rollout history deployment mydeployment
Why this is correct
kubectl rollout history deployment mydeployment is the dedicated command for viewing a Deployment's revision history, listing every revision with its REVISION number, CHANGE-CAUSE (if the kubernetes.io/change-cause annotation is set), and the underlying ReplicaSets. You can add --revision=N to inspect the exact template and metadata of a specific historical revision. This command directly exposes the ReplicaSets retained for rollback, which is precisely the rollout history.
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.