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:
commit
659ea70b3c
|
|
@ -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.
|
||||
Loading…
Reference in New Issue