Skip to content

Commit 0b6845c

Browse files
committed
Update in-place pod resize for GA
1 parent d8d9469 commit 0b6845c

File tree

3 files changed

+24
-18
lines changed

3 files changed

+24
-18
lines changed

keps/prod-readiness/sig-node/1287.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,3 +3,5 @@ alpha:
33
approver: "@ehashman"
44
beta:
55
approver: "@jpbetz"
6+
stable:
7+
approver: "@jpbetz"

keps/sig-node/1287-in-place-update-pod-resources/README.md

Lines changed: 19 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
- [Design Details](#design-details)
2121
- [Resource States](#resource-states)
2222
- [Priority of Resize Requests](#priority-of-resize-requests)
23+
- [Kubelet-triggered eviction](#kubelet-triggered-eviction)
2324
- [Kubelet and API Server Interaction](#kubelet-and-api-server-interaction)
2425
- [Kubelet Restart Tolerance](#kubelet-restart-tolerance)
2526
- [Scheduler and API Server Interaction](#scheduler-and-api-server-interaction)
@@ -41,6 +42,7 @@
4142
- [Instrumentation](#instrumentation)
4243
- [<code>kubelet_container_requested_resizes_total</code>](#kubelet_container_requested_resizes_total)
4344
- [<code>kubelet_pod_resize_duration_seconds</code>](#kubelet_pod_resize_duration_seconds)
45+
- [<code>kubelet_pod_infeasible_resizes_total</code>](#kubelet_pod_infeasible_resizes_total)
4446
- [<code>kubelet_pod_pending_resizes</code>](#kubelet_pod_pending_resizes)
4547
- [<code>kubelet_pod_in_progress_resizes</code>](#kubelet_pod_in_progress_resizes)
4648
- [<code>kubelet_pod_deferred_resize_accepted_total</code>](#kubelet_pod_deferred_resize_accepted_total)
@@ -96,20 +98,20 @@ checklist items _must_ be updated for the enhancement to be released.
9698

9799
Items marked with (R) are required *prior to targeting to a milestone / release*.
98100

99-
- [ ] (R) Enhancement issue in release milestone, which links to KEP dir in [kubernetes/enhancements] (not the initial KEP PR)
100-
- [ ] (R) KEP approvers have approved the KEP status as `implementable`
101-
- [ ] (R) Design details are appropriately documented
102-
- [ ] (R) Test plan is in place, giving consideration to SIG Architecture and SIG Testing input (including test refactors)
103-
- [ ] e2e Tests for all Beta API Operations (endpoints)
104-
- [ ] (R) Ensure GA e2e tests for meet requirements for [Conformance Tests](https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/conformance-tests.md)
105-
- [ ] (R) Minimum Two Week Window for GA e2e tests to prove flake free
106-
- [ ] (R) Graduation criteria is in place
107-
- [ ] (R) [all GA Endpoints](https://github.com/kubernetes/community/pull/1806) must be hit by [Conformance Tests](https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/conformance-tests.md)
101+
- [x] (R) Enhancement issue in release milestone, which links to KEP dir in [kubernetes/enhancements] (not the initial KEP PR)
102+
- [x] (R) KEP approvers have approved the KEP status as `implementable`
103+
- [x] (R) Design details are appropriately documented
104+
- [x] (R) Test plan is in place, giving consideration to SIG Architecture and SIG Testing input (including test refactors)
105+
- [x] e2e Tests for all Beta API Operations (endpoints)
106+
- [x] (R) Ensure GA e2e tests for meet requirements for [Conformance Tests](https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/conformance-tests.md)
107+
- [x] (R) Minimum Two Week Window for GA e2e tests to prove flake free
108+
- [x] (R) Graduation criteria is in place
109+
- [x] (R) [all GA Endpoints](https://github.com/kubernetes/community/pull/1806) must be hit by [Conformance Tests](https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/conformance-tests.md)
108110
- [ ] (R) Production readiness review completed
109111
- [ ] (R) Production readiness review approved
110-
- [ ] "Implementation History" section is up-to-date for milestone
111-
- [ ] User-facing documentation has been created in [kubernetes/website], for publication to [kubernetes.io]
112-
- [ ] Supporting documentation—e.g., additional design documents, links to mailing list discussions/SIG meetings, relevant PRs/issues, release notes
112+
- [x] "Implementation History" section is up-to-date for milestone
113+
- [x] User-facing documentation has been created in [kubernetes/website], for publication to [kubernetes.io]
114+
- [x] Supporting documentation—e.g., additional design documents, links to mailing list discussions/SIG meetings, relevant PRs/issues, release notes
113115

114116
<!--
115117
**Note:** This checklist is iterative and should be reviewed and updated every time this enhancement is being considered for a milestone.
@@ -822,7 +824,7 @@ be a race condition where the Kubelet may or may not accept the first resize, de
822824
it admits the first change before seeing the second. This race condition is accepted as working as
823825
intended.
824826

825-
The atomic resize requirement should be reevaluated prior to GA, and in the context of pod-level resources.
827+
The atomic resize requirement should be reevaluated in the context of pod-level resources.
826828

827829
### Actuating Resizes
828830

@@ -869,7 +871,7 @@ _Version skew note:_ Kubernetes v1.33 (and earlier) nodes only check the pod-lev
869871

870872
### Swap
871873

872-
Currently (v1.33), if swap is enabled & configured, burstable pods are allocated swap based on their
874+
Currently (v1.35), if swap is enabled & configured, burstable pods are allocated swap based on their
873875
memory requests. Since resizing swap requires more thought and additional design, we will forbid
874876
resizing memory requests of such containers for now. Since the API server is not privy to the node's
875877
swap configuration, this will be surfaced as resizes being marked `Infeasible`.
@@ -887,7 +889,7 @@ A pod's QOS class is immutable. This is enforced during validation, which requir
887889
resize the computed QOS Class matches the previous QOS class.
888890

889891
[Future enhancements: Mutable QOS Class "Shape"](#mutable-qos-class-shape) proposes a potential
890-
change to partially relax this restriction, but is removed from Beta scope.
892+
change to partially relax this restriction, but is removed from the scope of this KEP.
891893

892894
[Future enhancements: explicit QOS Class](#design-sketch-explicit-qos-class) proposes an alternative
893895
enhancement on that, to make QOS class explicit and improve semantics around [workload resource
@@ -1322,6 +1324,7 @@ TODO: Identify more cases
13221324
- Resize atomicity
13231325
- Exposing allocated resources in the pod status
13241326
- QOS class changes
1327+
- The subset of pod resize tests [here](https://github.com/kubernetes/kubernetes/blob/1aec2eb0030d2f121b4cf78998e9391d9389f1a0/test/e2e/common/node/pod_resize.go) under `doPodResizeTests` and `doPodResizeErrorTests` that meet the Conformance test requirements are promoted to Conformance.
13251328

13261329
### Upgrade / Downgrade Strategy
13271330
Scheduler and API server should be updated before Kubelets in that order.
@@ -1664,6 +1667,7 @@ _This section must be completed when targeting beta graduation to a release._
16641667
- Introduce Actuated resources for actuation
16651668
- 2025-06-03 - v1.34 post-beta updates
16661669
- Allow no-restart memory limit decreases
1670+
- 2025-09-22 - v1.35 updates for GA graduation
16671671

16681672
## Drawbacks
16691673

keps/sig-node/1287-in-place-update-pod-resources/kep.yaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,14 +32,14 @@ approvers:
3232
see-also:
3333
replaces:
3434

35-
stage: "beta"
35+
stage: "stable"
3636

37-
latest-milestone: "v1.34"
37+
latest-milestone: "v1.35"
3838

3939
milestone:
4040
alpha: "v1.27"
4141
beta: "v1.33"
42-
stable: "TBD"
42+
stable: "v1.35"
4343

4444
feature-gates:
4545
- name: InPlacePodVerticalScaling

0 commit comments

Comments
 (0)