Skip to content

Instantly share code, notes, and snippets.

@rajeshpv
Created July 20, 2025 17:49
Show Gist options
  • Save rajeshpv/10348e63bae1428697d6cbd00e756e6c to your computer and use it in GitHub Desktop.
Save rajeshpv/10348e63bae1428697d6cbd00e756e6c to your computer and use it in GitHub Desktop.

Revisions

  1. rajeshpv created this gist Jul 20, 2025.
    49 changes: 49 additions & 0 deletions K8_resouce.md
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,49 @@
    In Kubernetes, **Quality of Service (QoS) classes** define how resources (CPU and memory) are allocated to pods, especially during times of resource contention. The three QoS classes are:

    * **Guaranteed**
    * **Burstable**
    * **BestEffort**

    Here’s a breakdown of the **difference between Burstable and Guaranteed QoS** classes:

    ---

    ### **Guaranteed QoS**

    * **Requirements:**

    * Pod must have **equal `requests` and `limits`** for **both CPU and memory** for **all containers**.
    * **Behavior:**

    * Kubernetes treats these pods with the **highest priority**.
    * Guaranteed resources are **reserved** for the pod.
    * Least likely to be **evicted** when a node runs out of memory.
    * **Use Case:** Critical workloads that must not be interrupted, such as databases or key backend services.

    ---

    ### **Burstable QoS**

    * **Requirements:**

    * Pod has **both `requests` and `limits` set**, but they are **not equal**, or **only set for some containers**.
    * **Behavior:**

    * Resources are **guaranteed up to the request**, but can **burst** up to the limit if resources are available.
    * Lower priority than Guaranteed but higher than BestEffort.
    * Can be **evicted** under memory pressure if higher priority pods need resources.
    * **Use Case:** Non-critical apps that can scale up temporarily or tolerate being restarted.

    ---

    ### Comparison Summary:

    | Feature | **Guaranteed** | **Burstable** |
    | -------------------- | ------------------------ | ------------------------------------------- |
    | `requests == limits` | Yes (for all containers) | Not always (or partial containers) |
    | Resource Priority | Highest | Medium |
    | Eviction Risk | Lowest | Medium |
    | Resource Usage | Reserved fully | Bursts above requests if resources are free |
    | Ideal for | Critical apps | Apps with variable demand |

    ---