A rolling update strategy gradually replaces old versions of an application with new ones without downtime by updating pods one at a time.
Click to reveal answer
beginner
How does Kubernetes ensure zero downtime during a rolling update?
Kubernetes updates pods incrementally, keeping some old pods running until new pods are ready, so the service stays available.
Click to reveal answer
intermediate
What is the role of 'maxUnavailable' in a rolling update?
'maxUnavailable' sets the maximum number of pods that can be unavailable during the update, controlling update speed and availability.
Click to reveal answer
intermediate
What does 'maxSurge' control in a rolling update?
'maxSurge' controls how many extra pods can be created above the desired number during the update to speed up deployment.
Click to reveal answer
beginner
Why is a rolling update preferred over recreating all pods at once?
Because it avoids downtime by updating pods gradually, keeping the application available during the process.
Click to reveal answer
What does a rolling update do in Kubernetes?
AUpdates pods one by one without downtime
BDeletes all pods and creates new ones at once
CStops the service during update
DUpdates only half of the pods
✗ Incorrect
A rolling update updates pods incrementally to avoid downtime.
Which setting controls how many pods can be unavailable during a rolling update?
AmaxUnavailable
BmaxSurge
Creplicas
DminReadySeconds
✗ Incorrect
'maxUnavailable' sets the max number of pods that can be down during update.
What does 'maxSurge' allow during a rolling update?
APods to restart automatically
BPods to be deleted faster
CExtra pods above desired count
DPods to be scaled down
✗ Incorrect
'maxSurge' allows creating extra pods temporarily to speed up updates.
Why is rolling update strategy important?
AIt updates only one pod forever
BIt prevents downtime during updates
CIt stops the service temporarily
DIt deletes all pods quickly
✗ Incorrect
Rolling updates keep the service running by updating pods gradually.
During a rolling update, what happens to old pods?
AThey are paused
BThey are deleted immediately
CThey keep running forever
DThey are terminated only after new pods are ready
✗ Incorrect
Old pods stay running until new pods are ready to avoid downtime.
Explain how a rolling update works in Kubernetes and why it is useful.
Think about how pods are updated one by one and how availability is maintained.
You got /4 concepts.
Describe the difference between maxUnavailable and maxSurge in a rolling update.
One controls how many pods can be offline, the other controls extra pods created.
You got /3 concepts.
Practice
(1/5)
1. What is the main purpose of a rolling update in Kubernetes?
easy
A. To update an application without downtime by gradually replacing pods
B. To delete all pods and recreate them at once
C. To backup the current state of the application
D. To scale the application to zero replicas
Solution
Step 1: Understand rolling update concept
A rolling update replaces pods one by one to avoid downtime.
Step 2: Compare options with concept
Only To update an application without downtime by gradually replacing pods describes gradual replacement without downtime.
Final Answer:
To update an application without downtime by gradually replacing pods -> Option A
Quick Check:
Rolling update = gradual pod replacement [OK]
Hint: Rolling update means update pods one by one without downtime [OK]
Common Mistakes:
Thinking rolling update deletes all pods at once
Confusing rolling update with backup
Assuming rolling update scales pods to zero
2. Which kubectl command starts a rolling update by changing the image of a deployment?
easy
A. kubectl set image deployment/myapp myapp-container=myimage:v2
B. kubectl rollout undo deployment/myapp
C. kubectl scale deployment/myapp --replicas=0
D. kubectl get pods --watch
Solution
Step 1: Identify command to update image
The command to update a deployment's image is 'kubectl set image'.
Step 2: Match command with options
kubectl set image deployment/myapp myapp-container=myimage:v2 uses 'kubectl set image' correctly to start rolling update.
Final Answer:
kubectl set image deployment/myapp myapp-container=myimage:v2 -> Option A
Quick Check:
Change image = kubectl set image [OK]
Hint: Use kubectl set image to start rolling update [OK]
Common Mistakes:
Using rollout undo to start update
Scaling replicas to zero instead of updating image
Using get pods to update image
3. After running kubectl set image deployment/myapp myapp-container=myimage:v2, what does kubectl rollout status deployment/myapp show?
medium
A. The configuration details of the deployment
B. The current rollout progress of the deployment update
C. The logs of the deployment pods
D. The list of pods in the deployment
Solution
Step 1: Understand purpose of rollout status
The command 'kubectl rollout status' shows progress of deployment updates.
Step 2: Compare options with command purpose
The current rollout progress of the deployment update correctly describes rollout progress; others describe different commands.
Final Answer:
The current rollout progress of the deployment update -> Option B
Quick Check:
Rollout status = update progress [OK]
Hint: Rollout status shows update progress, not pod list or logs [OK]
Common Mistakes:
Confusing rollout status with pod listing
Expecting logs from rollout status
Thinking rollout status shows config details
4. You ran kubectl set image deployment/myapp myapp-container=myimage:v2 but the new pods crash. Which command helps you revert to the previous version?
medium
A. kubectl scale deployment/myapp --replicas=0
B. kubectl delete deployment myapp
C. kubectl rollout undo deployment/myapp
D. kubectl get pods --all-namespaces
Solution
Step 1: Identify command to revert deployment
'kubectl rollout undo' reverts deployment to previous version.
Step 2: Match command with options
kubectl rollout undo deployment/myapp correctly reverts the deployment; others do not revert updates.
Final Answer:
kubectl rollout undo deployment/myapp -> Option C
Quick Check:
Undo rollout = kubectl rollout undo [OK]
Hint: Use rollout undo to revert bad updates quickly [OK]
Common Mistakes:
Deleting deployment instead of undoing
Scaling replicas to zero instead of reverting
Using get pods which only lists pods
5. You want to update your deployment with zero downtime and ensure at least 2 pods are always available during the update. Which rolling update settings in the deployment spec help achieve this?
hard
A. Set 'maxUnavailable' to 1 and 'maxSurge' to 1 in 'rollingUpdate' strategy
B. Set 'maxUnavailable' to 2 and 'maxSurge' to 0 in 'rollingUpdate' strategy
C. Set 'maxUnavailable' to 3 and 'maxSurge' to 3 in 'rollingUpdate' strategy
D. Set 'maxUnavailable' to 0 and 'maxSurge' to 2 in 'rollingUpdate' strategy
Solution
Step 1: Understand maxUnavailable and maxSurge
'maxUnavailable' controls how many pods can be down; 'maxSurge' controls extra pods created during update.
Step 2: Ensure at least 2 pods always available
Setting 'maxUnavailable' to 0 means no pods go down; 'maxSurge' 2 allows 2 extra pods to be created for smooth update.
Final Answer:
Set 'maxUnavailable' to 0 and 'maxSurge' to 2 in 'rollingUpdate' strategy -> Option D
Quick Check:
Zero unavailable + surge 2 = no downtime, 2 pods always up [OK]
Hint: maxUnavailable 0 means no pod down; maxSurge adds extra pods [OK]
Common Mistakes:
Setting maxUnavailable > 0 causes downtime
Setting maxSurge to 0 prevents extra pods during update
Choosing high maxUnavailable and maxSurge causing instability
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.