kubernetes/kubernetes

Pod-level limits defaults not set when all containers have limits set and pod-level request is set

Open

#136,120 创建于 2026年1月9日

在 GitHub 查看
 (26 评论) (0 反应) (8 负责人)Go (122,268 star) (43,066 fork)batch import
help wantedkind/bugsig/nodetriage/accepted

描述

As per the requirements listed in the KEP, pod-level limits are set to aggregated container limits if all containers have limits set. Please check rows 10, 12 from the table in the KEP:

https://github.com/kubernetes/enhancements/blob/d57336d85b8673959916529873e71010a5d2a4fd/keps/sig-node/2837-pod-level-resource-spec/README.md?plain=1#L503-L507

The implementation is setting only pod-level requests defaults as per different scenarios. https://github.com/kubernetes/kubernetes/blob/98e6935d436d5068b3549e651e629f76ec96e3f7/pkg/apis/core/v1/defaults.go#L198

The bug fix involves adding the defaulting logic for pod-level limits such that when pod-level requests are set, and pod-level limits are unset and "all containers" have limits set then pod-level limits should be defaulted to aggregated container limits.

Instead of adding to the existing in defaults.go, it is recommended to limit this change to podStrategy#PrepareForCreate and podResizeStrategy#PrepareForUpdate and also guard the implementation behind a feature gate - PodLevelResourcesFixUpdateDefaulting

贡献者指南