CKAD Application Observability and Maintenance Practice Question
You have a Deployment that uses a ConfigMap. You update the ConfigMap, but the pods are not picking up the changes. What is the MOST efficient way to force the pods to use the new ConfigMap values without downtime?
⚠ Common exam trap
Candidates often assume ConfigMap updates are automatically reflected in running pods, but Kubernetes only refreshes mounted volumes after a sync interval (and never for environment variables), so a restart is required to pick up changes without downtime.
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
✓
Run 'kubectl rollout restart deployment/deployment-name'
A is correct because `kubectl rollout restart deployment/deployment-name` triggers a new ReplicaSet and gracefully terminates old pods while creating new ones, which will mount the updated ConfigMap. This avoids downtime by leveraging the Deployment's rolling update strategy, ensuring the new pods read the current ConfigMap data from the volume mount or environment variable reference.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✓
Run 'kubectl rollout restart deployment/deployment-name'
Why this is correct
kubectl rollout restart deployment/deployment-name performs a rolling restart by adding a temporary annotation to the pod template, which forces the Deployment controller to create a new ReplicaSet and progressively swap old pods for new ones. This ensures zero downtime, as new pods are fully ready before old ones are terminated, and crucially, the new pods will read the updated ConfigMap from the API server at container startup. It is the cleanest, most declarative way to push a ConfigMap change to an existing Deployment.
- ✗
Delete the pods manually and let the ReplicaSet recreate them
Why it's wrong here
Manually deleting the pods with kubectl delete pod is risky because if you delete all replicas at once, the ReplicaSet will recreate them, but there is a temporary period where zero pods serve traffic, causing downtime. Even if you delete them one-by-one, this is an ad-hoc, error-prone process that lacks the orchestrator's rolling update logic, which checks readiness before proceeding. Manual deletion also offers no rollback safety, unlike a rollout restart that leaves the previous ReplicaSet intact for a quick revert.
- ✗
Delete the ConfigMap and recreate it with the same name
Why it's wrong here
Deleting the ConfigMap before updating it is dangerous because any running pods that mount it via a volume may encounter errors if the file disappears, and any new pods spun up by the ReplicaSet will fail to mount the volume entirely. Kubernetes resolves ConfigMap references at pod creation, so the pod template will be rendered with a missing ConfigMap, placing the deployment in an unhealthy state. The correct sequence is to update the ConfigMap with kubectl edit or apply first (in-place), then trigger a rollout to pick up the new data—never delete it.
- ✗
Edit the Deployment to add an annotation, triggering a rollout
Why it's wrong here
Editing the Deployment to add an annotation does technically trigger a rolling update because any change to the pod template qualifies as a spec change, but this is an indirect workaround that introduces an arbitrary annotation with no functional purpose. It works, but it clutters the Deployment's metadata and is less discoverable than kubectl rollout restart, which is a dedicated, self-explanatory command for this exact scenario. Additionally, if the annotation is placed in the wrong location (e.g., on the Deployment itself rather than the pod template), no rollout will occur at all.
Go deeper
Related to this question
About these practice questions
Courseiva writes every CKAD question from scratch — 160 in total, each with an explanation and a wrong-answer breakdown. None are copied from real exams or 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.