Merge pull request #41718 from PiotrProkop/topo-manager-policy-options-beta

topologymanager: document topology manager policy options promotion to beta
This commit is contained in:
Kubernetes Prow Robot 2023-07-24 02:08:12 -07:00 committed by GitHub
commit 659ea70b3c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 14 additions and 10 deletions

View File

@ -28,7 +28,7 @@ disjoint set of components.
_Topology Manager_ is a Kubelet component that aims to coordinate the set of components that are
responsible for these optimizations.
## {{% heading "prerequisites" %}}
{{< include "task-tutorial-prereqs.md" >}} {{< version-check >}}
@ -174,7 +174,7 @@ each Hint Provider to discover their resource availability. Using this informati
Manager stores the preferred NUMA Node affinity for that container. If the affinity is not
preferred, Topology Manager will store this and admit the pod to the node anyway.
The *Hint Providers* can then use this information when making the
The *Hint Providers* can then use this information when making the
resource allocation decision.
### restricted policy {#policy-restricted}
@ -190,7 +190,7 @@ reschedule the pod. It is recommended to use a ReplicaSet or Deployment to trigg
the pod. An external control loop could be also implemented to trigger a redeployment of pods that
have the `Topology Affinity` error.
If the pod is admitted, the *Hint Providers* can then use this information when making the
If the pod is admitted, the *Hint Providers* can then use this information when making the
resource allocation decision.
### single-numa-node policy {#policy-single-numa-node}
@ -211,14 +211,18 @@ that have the `Topology Affinity` error.
### Topology manager policy options
Support for the Topology Manager policy options requires `TopologyManagerPolicyOptions`
[feature gate](/docs/reference/command-line-tools-reference/feature-gates/) to be enabled.
[feature gate](/docs/reference/command-line-tools-reference/feature-gates/) to be enabled
(it is enabled by default).
You can toggle groups of options on and off based upon their maturity level using the following feature gates:
* `TopologyManagerPolicyBetaOptions` default disabled. Enable to show beta-level options. Currently there are no beta-level options.
* `TopologyManagerPolicyAlphaOptions` default disabled. Enable to show alpha-level options. You will still have to enable each option using the `TopologyManagerPolicyOptions` kubelet option.
* `TopologyManagerPolicyBetaOptions` default enabled. Enable to show beta-level options.
* `TopologyManagerPolicyAlphaOptions` default disabled. Enable to show alpha-level options.
You will still have to enable each option using the `TopologyManagerPolicyOptions` kubelet option.
The following policy options exists:
* `prefer-closest-numa-nodes` (alpha, invisible by default, `TopologyManagerPolicyOptions` and `TopologyManagerPolicyAlphaOptions` feature gates have to be enabled)(1.26 or higher)
* `prefer-closest-numa-nodes` (beta, visible by default; `TopologyManagerPolicyOptions` and `TopologyManagerPolicyBetaOptions` feature gates have to be enabled).
The `prefer-closest-numa-nodes` policy option is beta in Kubernetes {{< skew currentVersion >}}.
If the `prefer-closest-numa-nodes` policy option is specified, the `best-effort` and `restricted`
policies will favor sets of NUMA nodes with shorter distance between them when making admission decisions.
@ -318,7 +322,7 @@ spec:
This pod runs in the `BestEffort` QoS class because there are no CPU and memory requests.
The Topology Manager would consider the above pods. The Topology Manager would consult the Hint
Providers, which are CPU and Device Manager to get topology hints for the pods.
Providers, which are CPU and Device Manager to get topology hints for the pods.
In the case of the `Guaranteed` pod with integer CPU request, the `static` CPU Manager policy
would return topology hints relating to the exclusive CPU and the Device Manager would send back
@ -337,7 +341,7 @@ of the requested devices.
Using this information the Topology Manager calculates the optimal hint for the pod and stores
this information, which will be used by the Hint Providers when they are making their resource
assignments.
assignments.
### Known Limitations
@ -346,4 +350,4 @@ assignments.
generating their hints.
2. The scheduler is not topology-aware, so it is possible to be scheduled on a node and then fail
on the node due to the Topology Manager.
on the node due to the Topology Manager.