@@ -296,8 +296,8 @@ can use resources available elsewhere on the node.
296296   pod-level in the Pod specification. 
297297
2982983. In alpha stage of Pod-level Resources feature, when using pod-level resources, 
299-    in-place pod resizing is unsupported with in-place pod resizing. **Users should  
300-    not  use in-place pod resize with pod-level resources enabled.** 
299+    in-place pod resizing is unsupported with in-place pod resizing. **Users won't  
300+    be able to  use in-place pod resize with pod-level resources enabled.** 
301301
302302### Risks and Mitigations 
303303
@@ -403,6 +403,9 @@ type PodSpec struct {
403403To ensure clarity and prevent ambiguity in resource allocation, the following 
404404validation rules are proposed for pod-level resource specifications: 
405405
406+ * In alpha, invalidate requests to update resources at container-level if 
407+   `resources` is set in PodSpec. 
408+ 
406409* Pod-level Resources Priority: If pod-level requests and limits are explicitly 
407410  set, they take precedence over container-level settings. Defaulting logic is only 
408411  applied when pod-level requests and/or limits are not explicitly specified. 
@@ -1414,18 +1417,18 @@ This feature will touch multiple components. For alpha, unit tests coverage for
14141417
14151418Following scenarios need to be covered: 
14161419
1417- 
1418- 
14191420* Cgroup settings when pod-level resources are set. 
14201421* Validate scheduling and admission. 
14211422* Validate the containers with no limits set are throttled on CPU when CPU usage reaches Pod level CPU limits. 
1422- * Validate the containers with no limits set are OOMKilled when memory usage reaches Pod level memory limits. 
1423+ * Validate the containers with no limits set are OOMKilled when memory usage 
1424+   reaches Pod level memory limits. 
1425+ * Test the correct values in TotalResourcesRequested. 
14231426
14241427
14251428### Graduation Criteria 
14261429
14271430
1428- #### Phase 1: Alpha (target 1.31 ) 
1431+ #### Phase 1: Alpha (target 1.32 ) 
14291432
14301433
14311434* Feature is disabled by default. It is an opt-in feature which can be enabled by enabling the `PodLevelResources` 
@@ -1437,7 +1440,7 @@ feature gate and by setting the new `resources` fields in PodSpec at Pod level.
14371440* Documentation mentioning high level design. 
14381441
14391442
1440- #### Phase 2:  Beta (target 1.32 ) 
1443+ #### Phase 2:  Beta (target 1.33 ) 
14411444
14421445
14431446* User Feedback. 
@@ -1448,7 +1451,7 @@ feature gate and by setting the new `resources` fields in PodSpec at Pod level.
14481451* Documentation update and blog post to announce feature in beta phase. 
14491452* [Tentative] Benchmark tests for resource usage with and without pod level resources for bursty workloads. 
14501453  * Use kube_pod_container_resource_usage metric to check resource utilization. 
1451- 
1454+ * [TBD] In-place pod resize support either as a part of this KEP or a separate KEP/feature. 
14521455
14531456#### GA (stable) 
14541457
@@ -1577,16 +1580,20 @@ To resolve this, users can delete the affected pods and recreate them.
15771580###### What happens if we reenable the feature if it was previously rolled back? 
15781581
15791582If the feature is re-enabled after being previously disabled, any new pods will 
1580- again have access to the pod-level resources feature. Existing pods created while 
1581- the feature was disabled will continue to operate without utilizing pod-level 
1582- resources. 
1583- 
1584- However, existing pods that were created with pod-level resources before the 
1585- feature was disabled will experience mismatched calculations for resource usage 
1586- when the feature is disabled, and these calculations will only align correctly 
1587- once the feature is re-enabled. Additionally, any pods that were admitted before 
1588- the feature was disabled but are recreated or restarted will also have mismatched 
1589- calculations after the feature is re-enabled. 
1583+ again have access to the pod-level resources feature.  
1584+ 
1585+ Pods that were created but not yet started will be treated based on its resource 
1586+ spec (pod-level when feature gate is enabled, and container-level when the gate 
1587+ is disabled). 
1588+ 
1589+ Pods that are already running with resources provisioned will continue running 
1590+ with resources provisioned at the time of execution (whether it was pod-level or 
1591+ container-level resources). 
1592+ 
1593+ However, some components may calculate the resource usage of the pods based on 
1594+ the resource spec (pod-level when feature gate is enabled, and container-level 
1595+ when feature gata is disabled), and that may not necessarily match the actual 
1596+ resources provisioned for the running pod. 
15901597
15911598To ensure consistent and intuitive resource calculations, it is advisable to 
15921599delete all pods when toggling the feature between enabling and disabling. This 
0 commit comments