Add a Quota Without Breaking Workloads

medium 20 XP ~12 minHands-on lab

The platform team is putting every team namespace on a budget. ratings is next. Its Deployment mailer was written without any resource requests or limits, and the team does not want to touch its manifest — the namespace should supply sensible defaults instead.

Task

  • A ResourceQuota ratings-compute in ratings limits the namespace to 8 Pods, 3 CPU of requests (requests.cpu) and 2Gi of memory requests (requests.memory).
  • A LimitRange ratings-defaults in ratings gives every container that does not set its own values these defaults: requests cpu: 200m, memory: 128Mi; limits cpu: 500m, memory: 256Mi.
  • All 3 replicas of mailer are running, and every one of its Pods was admitted under the quota and carries the default requests and limits.
  • Do not add resources to the mailer Deployment, and leave the Pod mailer-debug alone.

A practice cluster is running on this machine: start with kubectl get deploy,pods,quota,limitrange -n ratings.

About this machine

Ubuntu 24.04 with a private practice cluster: a real Kubernetes API server, scheduler and controllers, and three nodes (controlplane, node01, node02). Containers are simulated, so images never download and kubectl logs/exec are not available. k is an alias for kubectl, with completion. The grader checks the cluster's final state, not the commands you typed.

TerminalNot started

Your machine is ready to start

Create a free account to open a machine and get graded.