diff --git a/content/en/docs/concepts/workloads/pods/pod-topology-spread-constraints.md b/content/en/docs/concepts/workloads/pods/pod-topology-spread-constraints.md index b301a621c9..d538775c53 100644 --- a/content/en/docs/concepts/workloads/pods/pod-topology-spread-constraints.md +++ b/content/en/docs/concepts/workloads/pods/pod-topology-spread-constraints.md @@ -228,7 +228,8 @@ using default constraints for `PodTopologySpread`. {{< feature-state for_k8s_version="v1.19" state="alpha" >}} -When the feature gate `DefaultPodTopologySpread` is enabled, +When you enable the `DefaultPodTopologySpread` feature gate, the +legacy `SelectorSpread` plugin is disabled. kube-scheduler uses the following default topology constraints for the `PodTopologySpread` plugin configuration: @@ -247,11 +248,11 @@ is disabled. {{< note >}} If your nodes are not expected to have **both** `kubernetes.io/hostname` and -`topology.kubernetes.io/zone` labels set, you should define your own constraints -instead of using the Kubernetes default. +`topology.kubernetes.io/zone` labels set, define your own constraints +instead of using the Kubernetes defaults. -The `PodTopologySpread` plugin ignores from scoring the nodes that don't have -both topologies. +The `PodTopologySpread` plugin does not score the nodes that don't have +the topology keys specified in the spreading constraints. {{< /note >}} ## Comparison with PodAffinity/PodAntiAffinity diff --git a/content/en/docs/reference/command-line-tools-reference/feature-gates.md b/content/en/docs/reference/command-line-tools-reference/feature-gates.md index 5422fb9202..cdd51478a1 100644 --- a/content/en/docs/reference/command-line-tools-reference/feature-gates.md +++ b/content/en/docs/reference/command-line-tools-reference/feature-gates.md @@ -80,6 +80,7 @@ different Kubernetes components. | `CustomCPUCFSQuotaPeriod` | `false` | Alpha | 1.12 | | | `CustomResourceDefaulting` | `false` | Alpha| 1.15 | 1.15 | | `CustomResourceDefaulting` | `true` | Beta | 1.16 | | +| `DefaultPodTopologySpread` | `false` | Alpha | 1.19 | | | `DevicePlugins` | `false` | Alpha | 1.8 | 1.9 | | `DevicePlugins` | `true` | Beta | 1.10 | | | `DryRun` | `false` | Alpha | 1.12 | 1.12 | @@ -404,6 +405,8 @@ Each feature gate is designed for enabling/disabling a specific feature: troubleshoot a running Pod. - `DevicePlugins`: Enable the [device-plugins](/docs/concepts/cluster-administration/device-plugins/) based resource provisioning on nodes. +- `DefaultPodTopologySpread`: Enables the use of `PodTopologySpread` scheduling plugin to do + [default spreading](/docs/concepts/workloads/pods/pod/pod-topology-spread-constraints/#internal-default-constraints). - `DryRun`: Enable server-side [dry run](/docs/reference/using-api/api-concepts/#dry-run) requests so that validation, merging, and mutation can be tested without committing. - `DynamicAuditing`: Enable [dynamic auditing](/docs/tasks/debug-application-cluster/audit/#dynamic-backend)