Skip to content

static-pod initialization for proper resource accounting #125

@ajaysundark

Description

@ajaysundark

Static Pod Readiness

Static pods are managed directly by the Kubelet on a specific node, without the API server's involvement in their creation. To make them visible to the control plane, the Kubelet creates a Mirror Pod for each static pod in the API server. However, if there's a delay before Mirror Pods are created, the scheduler is unaware of the resources (cpu/memory) consumed by these static pods and could potentially over-commit on the node[1].

This race condition could be avoided with NRC to ensure a node only accepts workloads after all static pods are successfully synchronized with the API server.

This doc issue is to demonstrate how a npd custom-plugin script could be utilized to work with NRC using a 'StaticPodsSynced' node condition.

[1] Ref:

More details here: kubernetes/kubernetes#115325, kubernetes/website#47264 and kubernetes/kubernetes#126870

Metadata

Metadata

Assignees

Labels

kind/featureCategorizes issue or PR as related to a new feature.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions