<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/use-kubernetes-resource-planning-to-stop-downtime-h1njkpfsm" -->

---
title: Use Kubernetes Resource Planning to Stop Downtime
description: Explains how unbounded Kubernetes pod resource usage can degrade cluster stability and how to prevent it with requests, limits, namespaces, ResourceQuotas, and...
canonical: https://daily.dev/posts/use-kubernetes-resource-planning-to-stop-downtime-h1njkpfsm
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: Use Kubernetes Resource Planning to Stop Downtime | daily.dev
og:description: Explains how unbounded Kubernetes pod resource usage can degrade cluster stability and how to prevent it with requests, limits, namespaces, ResourceQuotas, and...
og:url: https://daily.dev/posts/use-kubernetes-resource-planning-to-stop-downtime-h1njkpfsm
og:image: https://api.daily.dev/og/posts/h1nJkpfsM.png
og:image:alt: Use Kubernetes Resource Planning to Stop Downtime
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Use Kubernetes Resource Planning to Stop Downtime

**[Teleport](https://daily.dev/sources/teleport)** · 11 min read · 0 upvotes · 0 comments

## Summary

Explains how unbounded Kubernetes pod resource usage can degrade cluster stability and how to prevent it with requests, limits, namespaces, ResourceQuotas, and LimitRanges. Covers CPU (millicore) and memory (bytes) units, YAML examples for setting requests/limits, and how the Kubernetes scheduler assigns Guaranteed, Burstable, and BestEffort QoS classes to pods based on those settings. Concludes with best practices for choosing QoS classes for production versus development workloads.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://goteleport.com/blog/kubernetes-resource-planning>

## Questions this post answers

### What is the difference between Kubernetes resource requests and limits?

Requests are guaranteed resources a container is entitled to use, while limits are the maximum resources a container can consume before being restricted. Kubernetes schedules a pod only on a node that can satisfy its requests, and a limit can never be set lower than the corresponding request or Kubernetes will reject the configuration.

_daily.dev surfaces practical guides like this for teams tuning Kubernetes resource configs before an incident hits._

### What are the three Kubernetes QoS classes and how are they assigned?

Kubernetes assigns Guaranteed, Burstable, or BestEffort based on a pod's resource settings. Guaranteed requires identical CPU and memory requests and limits; Burstable applies when at least one request is set but the Guaranteed criteria aren't met; BestEffort applies when no requests or limits are defined at all, making those pods first in line for eviction.

_Developers deciding how to prioritize workloads under memory pressure can track Kubernetes best practices on daily.dev._

### Why does my Kubernetes pod get throttled instead of killed when it hits its CPU limit?

CPU is a compressible resource, so Kubernetes throttles containers that exceed their CPU limit rather than terminating them, which slows the application instead of stopping it. Memory is not compressible, so pods that exceed their memory limit are terminated instead, making memory limits far more consequential to set correctly.

_daily.dev helps engineers troubleshooting Kubernetes performance issues find grounded explanations like this._

## Similar posts on daily.dev

- [Kubernetes ResourceQuotas and LimitRanges: Govern Requests at the Namespace Level](https://daily.dev/posts/kubernetes-resourcequotas-and-limitranges-govern-requests-at-the-namespace-level-j7bwyjmzk) · Cast AI · 2 upvotes · 0 comments
- [Kubernetes Requests and Limits: How to Right-Size Pods Without Breaking Reliability](https://daily.dev/posts/kubernetes-requests-and-limits-how-to-right-size-pods-without-breaking-reliability-2idykp32g) · Cast AI · 0 upvotes · 0 comments
- [Pod Requests Are the Input to Every Kubernetes Cost Control Loop](https://daily.dev/posts/pod-requests-are-the-input-to-every-kubernetes-cost-control-loop-7dlg3o6op) · Cloud Native Now · 0 upvotes · 0 comments
- [Where does a pod actually run?](https://daily.dev/posts/where-does-a-pod-actually-run--1qpnnyh2q) · Medium · 5 upvotes · 0 comments
- [How Do I Reduce Kubernetes Costs Without Hurting Reliability?](https://daily.dev/posts/how-do-i-reduce-kubernetes-costs-without-hurting-reliability--11xjt53gx) · Fairwinds Blog · 1 upvotes · 0 comments

---

Tags: [#kubernetes](https://daily.dev/tags/kubernetes)

[View this post on daily.dev](https://daily.dev/posts/use-kubernetes-resource-planning-to-stop-downtime-h1njkpfsm)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"Use Kubernetes Resource Planning to Stop Downtime","url":"https://daily.dev/posts/use-kubernetes-resource-planning-to-stop-downtime-h1njkpfsm","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/use-kubernetes-resource-planning-to-stop-downtime-h1njkpfsm"},"datePublished":"2026-08-23T12:19:38.705Z","dateModified":"2026-08-23T12:36:09.179Z","description":"Explains how unbounded Kubernetes pod resource usage can degrade cluster stability and how to prevent it with requests, limits, namespaces, ResourceQuotas, and...","image":"https://media.daily.dev/image/upload/s--HRgLpUt6--/f_auto/v1722860399/public/Placeholder%2003","thumbnailUrl":"https://media.daily.dev/image/upload/s--HRgLpUt6--/f_auto/v1722860399/public/Placeholder%2003","isAccessibleForFree":true,"articleSection":"Teleport","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"Teleport","logo":"https://media.daily.dev/image/upload/s--Dw-Bbw6O--/c_limit,w_256/f_auto,q_auto/v1787487494/logos/teleport?_a=BAMAMicg0","url":"https://daily.dev/sources/teleport"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/use-kubernetes-resource-planning-to-stop-downtime-h1njkpfsm","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":0},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"kubernetes","timeRequired":"PT11M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Teleport","item":"https://daily.dev/sources/teleport"},{"@type":"ListItem","position":3,"name":"Use Kubernetes Resource Planning to Stop Downtime"}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/use-kubernetes-resource-planning-to-stop-downtime-h1njkpfsm#faq","mainEntity":[{"@type":"Question","name":"What is the difference between Kubernetes resource requests and limits?","acceptedAnswer":{"@type":"Answer","text":"Requests are guaranteed resources a container is entitled to use, while limits are the maximum resources a container can consume before being restricted. Kubernetes schedules a pod only on a node that can satisfy its requests, and a limit can never be set lower than the corresponding request or Kubernetes will reject the configuration. daily.dev surfaces practical guides like this for teams tuning Kubernetes resource configs before an incident hits."}},{"@type":"Question","name":"What are the three Kubernetes QoS classes and how are they assigned?","acceptedAnswer":{"@type":"Answer","text":"Kubernetes assigns Guaranteed, Burstable, or BestEffort based on a pod's resource settings. Guaranteed requires identical CPU and memory requests and limits; Burstable applies when at least one request is set but the Guaranteed criteria aren't met; BestEffort applies when no requests or limits are defined at all, making those pods first in line for eviction. Developers deciding how to prioritize workloads under memory pressure can track Kubernetes best practices on daily.dev."}},{"@type":"Question","name":"Why does my Kubernetes pod get throttled instead of killed when it hits its CPU limit?","acceptedAnswer":{"@type":"Answer","text":"CPU is a compressible resource, so Kubernetes throttles containers that exceed their CPU limit rather than terminating them, which slows the application instead of stopping it. Memory is not compressible, so pods that exceed their memory limit are terminated instead, making memory limits far more consequential to set correctly. daily.dev helps engineers troubleshooting Kubernetes performance issues find grounded explanations like this."}}]}
```

