CKAD Practice Question: Application Environment, Configuration and Security
A Pod in a namespace with a ResourceQuota that sets 'limits.cpu: 4' and 'limits.memory: 8Gi' is being created with the following container resources: requests: cpu: 2, memory: 4Gi; limits: cpu: 4, memory: 8Gi. The namespace also has a LimitRange with default limits of cpu: 500m, memory: 512Mi. Which statement is true about this resource configuration?
⚠ Common exam trap
Candidates often assume LimitRange defaults always override Pod specifications, but in reality defaults only apply when the Pod does not set its own limits, and the Pod's explicit limits take precedence.
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
✓
The Pod will be admitted because it respects both the ResourceQuota and the LimitRange
B is correct because the Pod explicitly sets its own limits (cpu: 4, memory: 8Gi) and requests (cpu: 2, memory: 4Gi), which are within the ResourceQuota's 'limits.cpu: 4' and 'limits.memory: 8Gi' constraints. The LimitRange default limits only apply to containers that do not specify limits; since this Pod specifies limits, the defaults are ignored. The Pod is admitted as it satisfies both admission controllers.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✗
The Pod will have its limits overridden by the LimitRange defaults because limits must be set
Why it's wrong here
LimitRange defaults are only injected into a Pod when a container does not specify its own resource limits. Since this Pod already declares explicit limits, the admission controller will not overwrite or apply default values for them; the statement that 'limits must be set' is also incorrect because limits are only required if the LimitRange or quota defines a mandatory constraint, which is already satisfied here.
- ✓
The Pod will be admitted because it respects both the ResourceQuota and the LimitRange
Why this is correct
The Pod is admitted because its declared resource limits fall within the maximum allowed by the ResourceQuota and, if a LimitRange exists, the Pod's own limits satisfy any minimum or maximum constraints defined there. As the Pod explicitly sets its limits, the LimitRange's default section is irrelevant. Admission only fails when a resource request would violate quota or a mandatory range constraint.
- ✗
The Pod will be rejected because the limits exceed the LimitRange default
Why it's wrong here
A LimitRange's default is simply a value applied when a container omits that resource; it is not a ceiling. Rejection for exceeding a limit would require a LimitRange's `max` constraint or a ResourceQuota's `hard` limit to be breached. Merely having limits greater than the default is permissible and does not trigger rejection.
- ✗
The Pod will be rejected because requests must equal limits
Why it's wrong here
The request/limit equality is not a Kubernetes admission requirement; requests and limits are independent except that requests cannot exceed limits. ResourceQuota may require that limits be set, and sometimes defaults align them, but nothing forces them to be equal. A Pod with requests below its limits is valid and will be admitted if all other constraints pass.
Go deeper
Related to this question
About these practice questions
This CKAD question is part of Courseiva's 160-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 →
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.