-
Notifications
You must be signed in to change notification settings - Fork 39.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
The container’s CpusetCpus information needs to be added to the CRI Container definition #100906
Comments
/sig node |
/assign |
Looks like a legit scalability concern. /triage accepted Perhaps, needs to be added as a blocker for topology manager GA |
CC: @klueska wdyt? |
This is a known issue, we just haven't found the time to work on it. I don't think we need to add anything to the Container definition of the CRI. All of the information needed to skip the update is already available. |
created kubernetes/enhancements#2623 so it is not lost on graduation |
What happened:
If the K8s runs on bare metal, hundreds of containers run on a node, and the reconcileState method of CPUManager is executed every 10 seconds.
reccileState will call the updateContainerCPUSet method for each container to update the cpusetcpus of the container,
This cause too many cri requests to container runtime, and the cpu usage of container runtime will be high because of too many cri request.
What you expected to happen:
add the cpusetcpus to the Container definition of the CRI. reconcileState call updateContainerCPUSet only when the cpusetcpus of container changes.
How to reproduce it (as minimally and precisely as possible):
Anything else we need to know?:
Environment:
kubectl version
): v1.19.4cat /etc/os-release
):uname -a
):The text was updated successfully, but these errors were encountered: