Skip to content

Commit 1990476

Browse files
authored
Merge pull request #29709 from fromanirh/cpumanager-policy-options-feature-gates
node: cpumanager: policy options to beta: document the options graduation process
2 parents e211769 + 7d8483e commit 1990476

File tree

1 file changed

+14
-1
lines changed

1 file changed

+14
-1
lines changed

content/en/docs/tasks/administer-cluster/cpu-management-policies.md

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,13 @@ duration as `--node-status-update-frequency`.
6060

6161
The behavior of the static policy can be fine-tuned using the `--cpu-manager-policy-options` flag.
6262
The flag takes a comma-separated list of `key=value` policy options.
63+
This feature can be disabled completely using the `CPUManagerPolicyOptions` feature gate.
64+
65+
The policy options are split into two groups: alpha quality (hidden by default) and beta quality
66+
(visible by default). The groups are guarded respectively by the `CPUManagerPolicyAlphaOptions`
67+
and `CPUManagerPolicyBetaOptions` feature gates. Diverging from the Kubernetes standard, these
68+
feature gates guard groups of options, because it would have been too cumbersome to add a feature
69+
gate for each individual option.
6370

6471
### None policy
6572

@@ -218,6 +225,12 @@ equal to one. The `nginx` container is granted 2 exclusive CPUs.
218225

219226
#### Static policy options
220227

228+
You can toggle groups of options on and off based upon their maturity level
229+
using the following feature gates:
230+
* `CPUManagerPolicyBetaOptions` default enabled. Disable to hide beta-level options.
231+
* `CPUManagerPolicyAlphaOptions` default disabled. Enable to show alpha-level options.
232+
You will still have to enable each option using the `CPUManagerPolicyOptions` kubelet option.
233+
221234
The following policy options exist for the static `CPUManager` policy:
222235
* `full-pcpus-only` (beta, visible by default)
223236
* `distribute-cpus-across-numa` (alpha, hidden by default)
@@ -237,7 +250,7 @@ one NUMA node is required to satisfy the allocation.
237250
By default, the `CPUManager` will pack CPUs onto one NUMA node until it is
238251
filled, with any remaining CPUs simply spilling over to the next NUMA node.
239252
This can cause undesired bottlenecks in parallel code relying on barriers (and
240-
similar synchronization primitivies), as this type of code tends to run only as
253+
similar synchronization primitives), as this type of code tends to run only as
241254
fast as its slowest worker (which is slowed down by the fact that fewer CPUs
242255
are available on at least one NUMA node).
243256
By distributing CPUs evenly across NUMA nodes, application developers can more

0 commit comments

Comments
 (0)