You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* The top-level `status.observedGeneration` field shows the `metadata.generation` corresponding to the latest pod specification that the kubelet has acknowledged. You can use this to determine the most recent resize request the kubelet has processed.
91
+
* In the `PodResizeInProgress` condition, the `conditions[].observedGeneration` field indicates the `metadata.generation` of the podSpec when the current in-progress resize was initiated.
92
+
* In the `PodResizePending` condition, the `conditions[].observedGeneration` field indicates the `metadata.generation` of the podSpec when the pending resize's allocation was last attempted.
93
+
72
94
## Container resize policies
73
95
74
96
You can control whether a container should be restarted when resizing
@@ -107,8 +129,11 @@ Consider a container configured with `restartPolicy: NotRequired` for CPU and `r
107
129
For Kubernetes {{< skew currentVersion >}}, resizing pod resources in-place has the following limitations:
108
130
109
131
* **Resource Types:** Only CPU and memory resources can be resized.
110
-
* **Memory Decrease:** Memory limits _cannot be decreased_ unless the `resizePolicy` for memory is `RestartContainer`.
111
-
Memory requests can generally be decreased.
132
+
* **Memory Decrease:** If the memory resize restart policy is `NotRequired` (or unspecified), the kubelet will make a
133
+
best-effort attempt to prevent oom-kills when decreasing memory limits, but doesn't provide any guarantees.
134
+
Before decreasing container memory limits, if memory usage exceeds the requested limit, the resize will be skipped
135
+
and the status will remain in an "In Progress" state. This is considered best-effort because it is still subject
136
+
to a race condition where memory usage may spike right after the check is performed.
112
137
* **QoS Class:** The Pod's original [Quality of Service (QoS) class](/docs/concepts/workloads/pods/pod-qos/)
113
138
(Guaranteed, Burstable, or BestEffort) is determined at creation and **cannot** be changed by a resize.
114
139
The resized resource values must still adhere to the rules of the original QoS class:
0 commit comments