Courseiva

OpenShift maxUnavailable: Controlling Pod Availability During Rolling Updates

In OpenShift, a DeploymentConfig uses the RollingUpdate strategy. Which parameter controls the maximum number of pods that can be unavailable during an update?

Quick Answer

maxUnavailable is correct because it is the parameter in an OpenShift DeploymentConfig's RollingUpdate strategy that directly caps how many pods are allowed to be out of service at once while new pods are rolled out, whether that is expressed as an absolute number or a percentage of the desired pod count. Setting this value is how you control the trade-off between rollout speed and availability during a rolling update: a smaller maxUnavailable keeps more pods running throughout the update, which is safer but slower, while a larger one lets more pods go down simultaneously, finishing the rollout faster at the cost of reduced capacity in the meantime. It works alongside a related parameter, maxSurge, which controls how many extra pods above the desired count can be created during the rollout - maxUnavailable governs the low end of capacity while maxSurge governs the high end, and together they define how aggressive or conservative the rolling update is. When a question describes wanting to limit how many pods can be down during an OpenShift or Kubernetes-style rolling update, maxUnavailable is the parameter being tested, and if the question instead asks about limiting how many extra pods can exist temporarily above the desired count, that is pointing at maxSurge instead.

⚠ Common exam trap

It's easy for candidates to confuse `maxUnavailable` with `maxSurge`, mistakenly thinking that controlling how many extra pods are created is the same as controlling how many can be unavailable, but `maxSurge` limits overshoot while `maxUnavailable` limits undershoot.

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

✓

maxUnavailable

In OpenShift, the RollingUpdate strategy for a DeploymentConfig uses the `maxUnavailable` parameter to specify the maximum number or percentage of pods that can be unavailable during the update process. This ensures that the desired number of pods remain available to serve traffic while the update rolls out, controlling the trade-off between update speed and availability.

Answer analysis

Option-by-option breakdown

For each option: why learners choose it and why it is or isn't the right answer here.

  • ✗

    minReadySeconds

    Why it's wrong here

    minReadySeconds sets how long a new pod must be ready before it counts as available, so it gates rollout progression rather than unavailability. The maxUnavailable parameter controls how many pods may be down simultaneously. minReadySeconds would be correct when you need to verify application stability before promoting a new replica.

  • ✗

    maxSurge

    Why it's wrong here

    maxSurge controls how many pods may be created above the desired replica count during a rolling update, not how many may be unavailable. It is the correct parameter when the requirement is to limit extra capacity, whereas maxUnavailable governs pods taken out of service.

  • ✗

    revisionHistoryLimit

    Why it's wrong here

    revisionHistoryLimit caps how many old replication controllers are retained for rollback; it has no bearing on pod availability during the update. It would be the correct choice when limiting stored rollout history to conserve etcd space, not when controlling unavailable pods.

  • ✓

    maxUnavailable

    Why this is correct

    maxUnavailable caps how many pods may be taken down simultaneously during a rolling update, directly satisfying the stem's constraint on maximum unavailable pods. It works alongside maxSurge, which governs extra pods created above the desired replica count.

  • ✗

    progressDeadlineSeconds

    Why it's wrong here

    progressDeadlineSeconds sets how long a deployment may make no progress before it is marked failed; it does not govern pod availability. It is the right parameter when detecting a stalled rollout, not when controlling how many pods may be down during an update.

About these practice questions

One of 392 original EX294 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 →

How Courseiva writes practice questions · Editorial policy

Same concept, more angles

1 more way this is tested on EX294

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. The deployment has 4 replicas. During a rolling update, what is the maximum number of pods that can be unavailable at any single time?

easy
  • A.2
  • B.4
  • C.0
  • D.3
  • ✓ E.1

Why E: The default rolling update strategy for a Deployment in Kubernetes sets `maxUnavailable` to 25% of the desired replicas, rounded up. With 4 replicas, 25% equals 1, so at most 1 pod can be unavailable during the update. This ensures minimal disruption while allowing the update to proceed.

JA

Written by Johnson Ajibi, MSc IT Security

Senior Network & Security Engineer · founder of Courseiva

This EX294 practice question is part of Courseiva's free Red Hat 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 EX294 exam.