-
Notifications
You must be signed in to change notification settings - Fork 21
Description
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