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
Adding Kubelet cmd option to make system reserved CPU list specific #83582
Conversation
…ing CHANGELOG-1.13.md CHANGELOG-1.14.md CHANGELOG-1.15.md
…stream-release-1.16 Automated cherry pick of #82434: Encryption config: correctly handle overlapping providers
…0-upstream-release-1.16 Automated cherry pick of #83250: Deflake TestWatchBasedManager
…pstream-release-1.16-take-2 Automated cherry pick of #82514: Exec probes should not be unbounded
…1-upstream-release-1.16 [1.16] Automated cherry pick of #83261: bump gopkg.in/yaml.v2 v2.2.4
Welcome @jianzzha! |
@jianzzha: This cherry pick PR is for a release branch and has not yet been approved by the Patch Release Team. To merge this cherry pick, please ping the kubernetes/patch-release-team in a comment, after it has been approved by the relevant OWNERS. Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
Hi @jianzzha. Thanks for your PR. I'm waiting for a kubernetes member to verify that this patch is reasonable to test. If it is, they should reply with Once the patch is verified, the new status will be reflected by the I understand the commands that are listed here. Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
@jianzzha: Adding label Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: jianzzha The full list of commands accepted by this bot can be found here.
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
Thanks for your pull request. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA). 📝 Please follow instructions at https://git.k8s.io/community/CLA.md#the-contributor-license-agreement to sign the CLA. It may take a couple minutes for the CLA signature to be fully registered; after that, please reply here with a new comment and we'll verify. Thanks.
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here. |
The following users are mentioned in OWNERS file(s) but are not members of the kubernetes org. Once all users have been added as members of the org, you can trigger verification by writing
|
/check-CLA |
/check-cla |
What type of PR is this?
/kind feature
What this PR does / why we need it:
Currently when --system-reserved or --kube-reserved is used, kubelet will reserve system resources and keep them from being used by user containers. What CPUs are reserved via these options are not easy to determine by the end users, even though the CPU selection algorithm make the selection in deterministic way.
For telco NFV use cases, when using static cpu manager policy, knowing explicitly what CPUs are reserved for system and what CPUs are used for user containers is very important. For example, if isolcpu are going to be defined on the kernel cmd line and used for NFV containers, they really should be used only by the NFV containers and not by the system threads. Therefore, providing an option to explicitly define the system reserved CPU list will make the planning job much easier and straightforward for such telco use cases.
This new cmd line option, --reserved-cpus, is to explicitly define the the cpu list that will be reserved for system. For example, if --reserved-cpus=0,1,2,3 is specified, then cpu 0,1,2,3 will be reserved for the system. On a system with 24 CPUs, the telco user may specify isolcpus=4-23 for the kernel option and use CPU 4-24 for the NFV containers.
When --reserved-cpus is specified together --system-reserved or --kube-reserved, the explicit CPU list specified by --reserved-cpus will supercede the CPUs requested via --system-reserved or --kube-reserved.
Which issue(s) this PR fixes:
Fixes #
Special notes for your reviewer:
cpu manager test cases failures are all inherited from release-1.16. I will submit a another PR to add new test cases around cpu manager.
Does this PR introduce a user-facing change?:
Additional documentation e.g., KEPs (Kubernetes Enhancement Proposals), usage docs, etc.: