-
Notifications
You must be signed in to change notification settings - Fork 39.8k
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
Topology Manager Policy: single-numa-node #82099
Topology Manager Policy: single-numa-node #82099
Conversation
@lmdaly: Adding the "do-not-merge/release-note-label-needed" label because no release-note block was detected, please follow our release note process to remove it. 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. |
/release-note-none |
RestrictedTopologyManagerPolicy = "restricted" | ||
// BestEffortTopologyManagerPolicy is a mode in which kubelet will favour | ||
// pods with NUMA alignment of CPU and device resources. | ||
BestEffortTopologyManagerPolicy = "best-effort" | ||
// NoneTopologyManager Policy is a mode in which kubelet has no knowledge | ||
// of NUMA alignment of a pod's CPU and device resources. | ||
NoneTopologyManagerPolicy = "none" | ||
// SingleNumaNodeTopologyManager Policy iis a mode in which kubelet only allows |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nit: misspelling of is
This PR may require API review. If so, when the changes are ready, complete the pre-review checklist and request an API review. Status of requested reviews is tracked in the API Review project. |
/cc @erictune @liggitt @bgrant0607 @lavalamp @smarterclayton @thockin This does not introduce any user-facing API change because this is a new feature for 1.16 |
/assign @derekwaynecarr @ConnorDoyle |
/lgtm |
the code changes look fine, and the policy is clear. before this graduates in future releases beyond alpha, we need to clarify the strategy to test this with mock device plugins. /approve will need an api review for new token , but looks fine to me for sig-node. |
/label api-review |
/approve field is still alpha gated and is new in 1.16 |
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: derekwaynecarr, liggitt, lmdaly The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
PR #81586 "strict" policy already deals with aligning resources to a single NUMA node.
is my understanding correct ? |
@adrianchiris yes your description is accurate. We decided to make this change to meet the needs of everyone involved in the design discussions and to make the policy semantics as easy to understand as possible. |
@adrianchiris The long term plan is still to add the Merge() method you have in your / @moshe010's PR. This is a short term fix to unblock the release of these policies. |
/priority important-soon important to include this before shipping the config field |
Previously it only took a bool, which limited the logic it could perform to determine if a pod should be admitted or not based on the merged hint from the policy.
aligned on a single NUMA node Co-authored-by: Kevin Klues <[email protected]>
Added one off fix for single-numa-node policy to correctly reject pod admission on a resource allocation that spans NUMA nodes Co-authored-by: Kevin Klues <[email protected]>
2a12b2e
to
8ad1b5b
Compare
/lgtm |
/retest |
What type of PR is this?
/kind feature
What this PR does / why we need it:
Issue for tracking PRs: #72828
This PR introduces a new Topology Manager policy which aligns resources on a single NUMA Node or fails the pod if this is not possible. The restricted policy previously implicitly did this. Based on discussions with @ConnorDoyle & @klueska, it was determined that a specific policy to cater for this would be more clear for the users.
The restricted policy will fail pods that have the preferred policy set to false, this can occur when a sub-optimal NUMA affinity is determined for the pod.
Does this PR introduce a user-facing change?:
This adds an additional option to the
--topology-manager-policy
calledsingle-numa-node
.The
topology-manager-policy
has not been used in previous releases and is being introduced in the 1.16 release.