KEP-2837keps/sig-node/2837-pod-level-resource-spec
Pod Level Resource Specifications
Currently resource allocation on PodSpec is container-centric, allowing users to specify resource requests and limits for each container. The scheduler uses the aggregate of the requested resources by all containers in a pod to find a suitable node for scheduling the pod. The kubelet then enforces these resource constraints by translating the requests and li… Full summary
Currently resource allocation on PodSpec is container-centric, allowing users to specify resource requests and limits for each container. The scheduler uses the aggregate of the requested resources by all containers in a pod to find a suitable node for scheduling the pod. The kubelet then enforces these resource constraints by translating the requests and limits into corresponding cgroup settings both for containers and for the pod (where pod level values are aggregates of container level values derived using the formula in KEP#753). The existing Pod API lacks the ability to set resource constraints at pod level, limiting the flexibility and ease of resource management for pods as a whole. This limitation is particularly problematic when users want to focus on controlling the overall resource consumption of a pod without the need to meticulously configure resource specifications for each individual container in it. To address this, this KEP proposes extending the Pod API to support Pod-level resource limits and requests for non-extended resources (CPU, Memory and Hugepages), in addition to the existing container-level settings.
Facts
- Authors
- @ndixita
- Approvers
- @dchen1107@haircommander
- Tracking issue
- #2837(opens GitHub in a new tab) openreopenedmilestone v1.38sig/nodesig/schedulingstage/stablesig/architecturetracked/yessig/cloud-providerkind/keplead-opted-in
- Milestones
- alpha v1.33beta v1.34stable v1.38
- Participating SIGs
- sig-schedulingsig-autoscaling
- Feature gates
- PodLevelResourcesFixKubeletQOSClass, PodLevelResourcesFixUpdateDefaulting, PodLevelResources
- Created / last updated
- 2024-05-31 / none