CertGrid CertGrid
Hands-on Lab·Certified Kubernetes Administrator

Namespaces, ResourceQuotas and LimitRanges

A quota caps a namespace in total, a LimitRange constrains each container, and they are enforced at different moments by different code. Watch a Pod get defaults it never asked for, get a rejection from the LimitRange rather than the quota you expected, and watch a Deployment stall at 3 of 6 replicas.

Cluster Architecture and Configuration Guide 17 of 103 Intermediate

Written against the versions above. The specific limits are arbitrary. Which object rejects what, and when, is not.

Any cluster does. Everything below is `kubectl` against the four-node lab.
Server NameIP AddressOSRolesCPURAMHDD
CKA1001192.168.0.175Ubuntu 26.04 LTSControl Plane Node2 Core4 GB50 GB
CKA1001-NODE01192.168.0.176Ubuntu 26.04 LTSWorker Node2 Core4 GB50 GB
CKA1001-NODE02192.168.0.177Ubuntu 26.04 LTSWorker Node2 Core4 GB50 GB
CKA1001-NODE03192.168.0.178Ubuntu 26.04 LTSWorker Node2 Core4 GB50 GB

Before you start

  1. What a namespace is, and what it is not

  2. Set a default namespace instead of typing -n

  3. Namespace deletion is a cascade

  4. A quota and a LimitRange, and why you need both

  5. Watch a Pod receive resources it never asked for

  6. The rejection you get is not always the one you expected

  7. A Deployment does not fail, it stalls

  8. Read the totals, and clean up

Official sources