~/ nmadiraju.com Amazon EKS · Requests, limits and evictions
arrow_back Back to nmadiraju
Visual Walkthrough · Kubernetes workloads

How Requests, Limits, QoS and Evictions Work on Amazon EKS

Follow four Pods on one node as their requests fill it, their limits bite, and memory runs out, then check yourself with 8 questions.

1Visual Walkthrough

One node's CPU and memory reservations, four Pods with requests and limits, and the kubelet evicting under pressure node-1 shows bars for CPU and memory requests reserved against allocatable, with usage markers. Four Pods (web, api, worker, batch) list their requests, limits and QoS class. The walkthrough shows a Pod Pending on an idle node, right-sizing a request, CPU throttling, an OOM kill, bursting between request and limit, QoS classes, and the kubelet evicting a BestEffort Pod when memory runs short. scheduler places by requests not by actual usage node-1 · allocatable 2000m CPU · 4 GiB (simplified) CPU requests reserved, of 2000m memory requests reserved, of 4096Mi web 500m api 500m worker 500m new 400m new 1000m: doesn't fit 512Mi 512Mi 512Mi used: 300m used: 1.8Gi used: 4.0Gi web req 500m · 512Mi lim 1 CPU · 512Mi EVICTED api req 500m · 512Mi lim 500m · 512Mi EVICTED worker req 500m · 512Mi lim none · 2Gi EVICTED batch req none lim none EVICTED kubelet reports usage · evicts Pods when the node runs short of memory, disk or PIDs Linux kernel (cgroups) enforces limits: throttles CPU, OOM-kills over the memory limit

    scheduler, kubelet or kernel action reserved by requests actual usage doesn't fit or failing

    Press Play to watch all nine steps, or step through with Back and Next. Red step tabs are where something breaks; green ones add the fix. Voice reads each step aloud with your browser's built-in speech.

    2Quiz to check understanding

    Check yourself