Courseiva

CKAD Practice Question: Application Environment, Configuration and Security

A pod in a namespace with a ResourceQuota that sets 'requests.cpu: 2' is failing to schedule. The pod manifest specifies 'resources: { requests: { cpu: "500m" } }'. What is the likely cause?

⚠ Common exam trap

A common mix-up: candidates assume the pod's individual request must be less than the quota, but they overlook that the quota is a cumulative limit across all pods in the namespace, so even a small request can fail if the namespace is already at capacity.

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 namespace has already used all its CPU request quota.

The ResourceQuota sets a hard limit of 2 CPU cores for total requests across all pods in the namespace. If the sum of CPU requests from all pods already reaches or exceeds 2, a new pod with a 500m CPU request cannot be scheduled because it would exceed the quota. The pod's request (500m) is well within the quota limit, so the issue is that the namespace has exhausted its CPU request budget.

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 ResourceQuota applies to limits, not requests.

    Why it's wrong here

    The scenario states the ResourceQuota sets requests.cpu (e.g., resources.requests.cpu: "2"), so the quota directly constrains the sum of CPU requests in the namespace. Kubernetes ResourceQuota can separately limit requests (resources.requests.cpu) and limits (resources.limits.cpu); since this quota targets requests, the pod's 500m request is the value being counted. This option is incorrect because it confuses the two quota types—this quota applies to requests, not limits.

  • The namespace has already used all its CPU request quota.

    Why this is correct

    Even though the pod's individual request is small (500m), the ResourceQuota enforces an aggregate limit on the sum of all CPU requests in the namespace. At admission time, Kubernetes compares the current usage (sum of requests from all running/creating objects) plus the new pod's request against the quota's hard limit of 2000m. If the existing usage is already at or near 2000m, adding this pod's 500m pushes the total over the limit, causing the 'quota exceeded' error. This is a namespace-level accounting issue, not a per-pod scheduling problem.

  • The pod does not specify a CPU limit.

    Why it's wrong here

    A ResourceQuota on requests.cpu only checks that every container specifies a CPU request and that the aggregate requests stay under the hard limit; it does not require containers to have a CPU limit. If the quota had been defined on limits.cpu (resources.limits.cpu), then a missing limit could cause a 'must specify limits.cpu' admission error, but that is not the case here. The pod already declares a request of 500m, so it satisfies the quota's specification requirement, and the absence of a limit does not trigger a quota-expired failure.

  • The pod's CPU request exceeds the ResourceQuota limit.

    Why it's wrong here

    The ResourceQuota hard limit is 2 CPU (2000m), and the pod requests 500m, which is only one-quarter of the quota. Quotas do not restrict the size of an individual pod's request; instead, they cap the cumulative total requests across all pods in the namespace. If the pod's request itself exceeded 2000m, this option would be plausible, but 500m < 2000m, so the request is well within the quota limit. The exceeded quota is caused by the existing aggregate usage, not by this pod's individual request.

About these practice questions

One of 160 original CKAD 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

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.