Skip to content

[FG:InPlacePodVerticalScaling] Enable memory limit decrease #129152

Open
@tallclair

Description

@tallclair

/kind bug

When shrinking the pod-level memory limits (sum of container limits iff all containers have limits), the Kubelet checks the current pod memory usage, and doesn't apply the new limits if the new limits < current usage. However, the Kubelet doesn't place the same restriction on containers, and we don't require container runtimes to make the same check.

In practice, this means that for a single container pod, decreasing the memory limit below usage will result in the resize being indefinitely in progress, but for a multiple container pod, if some containers have sufficient free memory, you can shrink the memory limits below usage for a container in the pod, resulting in that container being OOM-killed.

What is the desired behavior here?

https://docs.google.com/document/d/1cEFLXKwNOSNLAkzyhoJUgkBW0OiX-9bXB_aJV7OAypw/edit?tab=t.0 provides more background information and several options for how this should be handled.

/sig node
/priority important-soon

Metadata

Metadata

Labels

kind/bugCategorizes issue or PR as related to a bug.priority/important-longtermImportant over the long term, but may not be staffed and/or may need multiple releases to complete.sig/nodeCategorizes an issue or PR as relevant to SIG Node.triage/acceptedIndicates an issue or PR is ready to be actively worked on.

Type

No type

Projects

Status

Tracked

Status

No status

Status

Triaged

Status

No status

Relationships

None yet

Development

No branches or pull requests

Issue actions