kubernetes-sigs / kubernetes-sigs/node-readiness-controller

static-pod initialization for proper resource accounting

Open
#125 9 comments 0 reactions 1 assignee Claimed by @GGh41th View on GitHub
kind/feature
Dominant language
Go
Stars
163
Forks
74
Avg merge
2d 18h
Merged PRs (30d)
9

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](https://github.com/kubernetes/node-problem-detector) custom-plugin script could be utilized to work with NRC using a 'StaticPodsSynced' node condition.

[1] Ref:

More details here: https://github.com/kubernetes/kubernetes/issues/115325, https://github.com/kubernetes/website/issues/47264 and https://github.com/kubernetes/kubernetes/pull/126870

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.