Chapter 07: Resource Management & QoS

Why This Chapter Exists

Unbounded workloads create noisy-neighbor incidents and unpredictable recovery. This chapter enforces resource discipline:

  • requests/limits per container
  • namespace quotas
  • predictable QoS behavior under pressure

Guardrails

  • Every workload must define CPU/memory requests and limits.
  • Namespaces must enforce LimitRange and ResourceQuota.
  • OOM and throttling analysis must happen before scaling decisions.

Repo Mapping

Platform repository references:

Current Implementation (This Repo)

  • Backend and frontend define CPU/memory/ephemeral-storage requests+limits.
  • develop, staging, production have LimitRange and ResourceQuota via Flux.
  • Apps depend on resource-management Kustomizations before reconcile.

Lab Files

  • lab.md
  • quiz.md

Done When

  • learner can explain Burstable vs Guaranteed vs BestEffort with real manifests
  • learner can verify quota/limitrange enforcement in cluster
  • learner can diagnose OOM/resource pressure from pod events and metrics

Lab: Requests, Limits, QoS, and OOM Analysis

verify requests/limits are present verify namespace quota and default limits trigger controlled memory pressure and analyze behavior Prerequisites Flux healthy develop namespace workloads running kubectl -n flux-system …

Quiz: Chapter 07 (Resource Management & QoS)

What QoS class do pods usually get when requests and limits are both set but not equal? What Kubernetes object enforces namespace-wide total resource caps? What Kubernetes object provides default/min/max resource values …