CKAD Application Deployment Practice Question
You want to perform a rolling update of a Deployment. The Deployment has a maxSurge=1 and maxUnavailable=0. How many extra pods can be created above the desired count during the update?
⚠ Common exam trap
Many exam-takers confuse `maxSurge` with `maxUnavailable` or assume that `maxSurge` allows unlimited pods, when in fact it is a strict integer or percentage cap that limits the number of extra pods created above the desired count.
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
✓
1
In a rolling update with `maxSurge=1` and `maxUnavailable=0`, Kubernetes ensures that at most one extra pod can be created above the desired replica count during the update. This is controlled by the `maxSurge` field, which defines the maximum number of pods that can be created over the desired number, and here it is set to 1 (either an absolute number or a percentage, defaulting to 25%). Since `maxUnavailable=0`, no pods can be taken down before new ones are ready, so the surge allows exactly one additional pod to be created temporarily.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✗
Unlimited
Why it's wrong here
The value `Unlimited` is not a valid Kubernetes setting for `maxSurge`. The `maxSurge` field accepts either a non-negative integer (e.g., 0, 1, 2) or a percentage (e.g., '50%'), but the API server rejects arbitrary strings like 'Unlimited'. Setting it to unlimited would defeat the purpose of controlled rolling updates, allowing unbounded pod creation and risking resource exhaustion.
- ✗
0
Why it's wrong here
Setting `maxSurge` to 0 means no extra pods are permitted beyond the desired replicas during a rollout, which is the opposite of the stated condition. If the deployment explicitly declares `maxSurge: 1`, then the number of temporary additional pods is exactly 1, not 0. A value of 0 is typically used for `maxUnavailable` when you want zero downtime but it does not match the surge capacity in the question.
- ✓
1
Why this is correct
A `maxSurge` value of 1 correctly indicates that exactly one pod may be created above the desired replica count during a rolling update. This allows the Deployment controller to bring up a new pod before terminating an old one, reducing downtime while keeping the surge limited to a single extra pod. Kubernetes interprets this as an absolute number, so the controller ensures the total pod count never exceeds `replicas + 1` during the update.
- ✗
Desired replicas
Why it's wrong here
The value `Desired replicas` is incorrect because `maxSurge` specifies a delta, not the total number of replicas themselves. If `maxSurge` were set to the desired replica count, the controller would be allowed to double the number of pods temporarily, which is not what a surge of 1 implies. In the given context, `maxSurge: 1` means only one additional pod beyond the desired count, not the entire desired replica count.
Go deeper
Related to this question
About these practice questions
Courseiva writes every CKAD question from scratch — 826 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.