diff --git a/content/en/docs/concepts/configuration/manage-resources-containers.md b/content/en/docs/concepts/configuration/manage-resources-containers.md index fee82acdc6cde..a54833ca19454 100644 --- a/content/en/docs/concepts/configuration/manage-resources-containers.md +++ b/content/en/docs/concepts/configuration/manage-resources-containers.md @@ -113,21 +113,24 @@ resource requests/limits of that type for each container in the Pod. {{< feature-state feature_gate_name="PodLevelResources" >}} -Starting in Kubernetes 1.32, you can also specify resource requests and limits at +Provided your cluster has the `PodLevelResources` +[feature gate](/docs/reference/command-line-tools-reference/feature-gates/) enabled, +you can specify resource requests and limits at the Pod level. At the Pod level, Kubernetes {{< skew currentVersion >}} only supports resource requests or limits for specific resource types: `cpu` and / -or `memory`. This feature is currently in alpha and with the feature enabled, -Kubernetes allows you to declare an overall resource budget for the Pod, which is -especially helpful when dealing with a large number of containers where it can be -difficult to accurately gauge individual resource needs. Additionally, it enables -containers within a Pod to share idle resources with each other, improving resource -utilization. +or `memory` and / or `hugepages`. With this feature, Kubernetes allows you to declare an overall resource +budget for the Pod, which is especially helpful when dealing with a large number of +containers where it can be difficult to accurately gauge individual resource needs. +Additionally, it enables containers within a Pod to share idle resources with each +other, improving resource utilization. For a Pod, you can specify resource limits and requests for CPU and memory by including the following: * `spec.resources.limits.cpu` * `spec.resources.limits.memory` +* `spec.resources.limits.hugepages-` * `spec.resources.requests.cpu` * `spec.resources.requests.memory` +* `spec.resources.requests.hugepages-` ## Resource units in Kubernetes diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates/PodLevelResources.md b/content/en/docs/reference/command-line-tools-reference/feature-gates/PodLevelResources.md index 80cbc1027de4c..53aebb6d48296 100644 --- a/content/en/docs/reference/command-line-tools-reference/feature-gates/PodLevelResources.md +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates/PodLevelResources.md @@ -9,6 +9,10 @@ stages: - stage: alpha defaultValue: false fromVersion: "1.32" + toVersion: "1.33" + - stage: beta + defaultValue: true + fromVersion: "1.34" --- Enable _Pod level resources_: the ability to specify resource requests and limits at the Pod level, rather than only for specific containers. \ No newline at end of file diff --git a/content/en/docs/tasks/configure-pod-container/assign-pod-level-resources.md b/content/en/docs/tasks/configure-pod-container/assign-pod-level-resources.md index 653e64944168a..6ac38b75df0f3 100644 --- a/content/en/docs/tasks/configure-pod-container/assign-pod-level-resources.md +++ b/content/en/docs/tasks/configure-pod-container/assign-pod-level-resources.md @@ -2,7 +2,7 @@ title: Assign Pod-level CPU and memory resources content_type: task weight: 30 -min-kubernetes-server-version: 1.32 +min-kubernetes-server-version: 1.34 --- @@ -43,6 +43,23 @@ The `PodLevelResources` [feature gate](/docs/reference/command-line-tools-reference/feature-gates/) must be enabled for your control plane and for all nodes in your cluster. +## Limitations + +For Kubernetes {{< skew currentVersion >}}, resizing pod-level resources has the +following limitations: + +* **Resource Types:** Only CPU, memory and hugepages resources can be specified at pod-level. +* **Operating System:** Pod-level resources are not supported for Windows + pods. +* **Resource Managers:** The Topology Manager, Memory Manager and CPU Manager do not + align pods and containers based on pod-level resources as these resource managers + don't currently support pod-level resources. +* **[In-Place + Resize](https://kubernetes.io/docs/tasks/configure-pod-container/resize-container-resources/):** + In-place resize of pod-level resources is not supported. Modifying the pod-level resource + limits or requests on a pod result in a field.Forbidden error. The error message + explicitly states, "pods with pod-level resources cannot be resized." + ## Create a namespace