KCNA Kubernetes Fundamentals Practice Question
A Deployment has a strategy of RollingUpdate with maxSurge=1 and maxUnavailable=0. The Deployment manages 3 replicas. The image is updated. What happens during the update?
⚠ Common exam trap
A common misconception is that maxUnavailable=0 prevents any Pod termination, but in a RollingUpdate with maxSurge>0, old Pods are terminated only after new ones are ready, ensuring zero downtime while the update proceeds.
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
✓
One new Pod is created, and once it is ready, one old Pod is terminated. This repeats until all Pods are updated.
The RollingUpdate strategy with maxSurge=1 and maxUnavailable=0 ensures that during the update, exactly one new Pod is created above the desired replica count (surge of 1) while keeping all existing Pods running (maxUnavailable=0). Once the new Pod reaches the Ready state, one old Pod is terminated, maintaining the desired 3 replicas throughout the process. This cycle repeats until all Pods are updated, guaranteeing zero downtime.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✗
All 3 new Pods are created, and then the old ones are terminated all at once
Why it's wrong here
This would require maxSurge=3, not 1.
- ✓
One new Pod is created, and once it is ready, one old Pod is terminated. This repeats until all Pods are updated.
Why this is correct
This matches the rolling update behavior with maxSurge=1 and maxUnavailable=0.
- ✗
All 3 old Pods are terminated simultaneously before new ones start
Why it's wrong here
This would cause downtime, violating maxUnavailable=0.
- ✗
The update fails because maxUnavailable cannot be 0
Why it's wrong here
maxUnavailable=0 is valid and ensures no downtime.
Go deeper
Related to this question
About these practice questions
This KCNA question is part of Courseiva's 833-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 →
Same concept, more angles
3 more ways this is tested on KCNA
These questions test the same concept from different angles. Work through them to make sure you can recognise it however the exam phrases it.
Variation 1. A team wants to minimize downtime during a Deployment rollout. Which strategy ensures that new pods are created before old pods are terminated?
medium- A.Set strategy type to 'Recreate'.
- B.Set strategy type to 'RollingUpdate' with maxSurge=0, maxUnavailable=1.
- ✓ C.Set strategy type to 'RollingUpdate' with maxSurge=1, maxUnavailable=0.
- D.Set strategy type to 'RollingUpdate' with maxSurge=1, maxUnavailable=1.
Why C: Setting `maxSurge=1` and `maxUnavailable=0` in a RollingUpdate strategy ensures that one additional pod is created above the desired replica count before any existing pod is terminated. This guarantees zero downtime by maintaining full capacity during the rollout, as new pods become ready before old ones are removed.
Variation 2. A user wants to ensure that a Deployment undergoes a rolling update with zero downtime, and that new Pods are fully ready before old Pods are terminated. Which field in the Deployment spec controls this behavior?
hard- A.spec.minReadySeconds
- ✓ B.spec.strategy.rollingUpdate.maxUnavailable and maxSurge
- C.spec.replicas
- D.spec.template.spec.containers[].resources
Why B: `spec.strategy.rollingUpdate.maxUnavailable` and `maxSurge` control how many Pods can be unavailable and how many can be created above the desired count during a rolling update. Setting `maxUnavailable=0` ensures no old Pods are terminated until new Pods are fully ready, achieving zero-downtime updates. `maxSurge` allows extra Pods to be created before old ones are removed, enabling a controlled rollout.
Variation 3. You have a Deployment with the following rollout strategy: rollingUpdate: maxSurge: 1, maxUnavailable: 0. What behavior does this configuration enforce?
hard- A.The rollout will terminate all old pods at once and then create new ones
- B.The rollout will create all new pods first, then delete all old pods
- C.The rollout will terminate one old pod before creating a new one
- ✓ D.The rollout will create one additional pod before terminating the old pod, ensuring zero downtime
Why D: The rolling update strategy `maxSurge: 1, maxUnavailable: 0` ensures that during the rollout, one additional pod is created above the desired replica count before any existing pod is terminated. This guarantees that the total number of available pods never drops below the desired count, achieving zero downtime. The `maxUnavailable: 0` setting prevents any pod from being taken down until a new one is ready, while `maxSurge: 1` allows one extra pod to be created temporarily.
JA
Written by Johnson Ajibi, MSc IT Security
Senior Network & Security Engineer · founder of Courseiva
This KCNA 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 KCNA exam.