diff --git a/keps/sig-scheduling/3022-tuning-the-number-of-domains-in-pod-topology-spread/README.md b/keps/sig-scheduling/3022-tuning-the-number-of-domains-in-pod-topology-spread/README.md index 47e681b1d66e..1d68d54c5792 100644 --- a/keps/sig-scheduling/3022-tuning-the-number-of-domains-in-pod-topology-spread/README.md +++ b/keps/sig-scheduling/3022-tuning-the-number-of-domains-in-pod-topology-spread/README.md @@ -68,21 +68,21 @@ But, there isn't a way to control the number of domains over which we should spr Users can define a maximum number of domains with `maxDomains` parameter -When the number of Pods is more than `maxDomains`, +When the number of domains >= `maxDomains`, -- when `whenUnsatisfiable` equals `DoNotSchedule`, scheduler schedules each Pods to a different Node. - i.e. scheduler filters Nodes that don't have matching Pods in the `Filter` phase. -- when `whenUnsatisfiable` equals `ScheduleAnyway`, scheduler prefers Nodes that have matching Pods. +- when `whenUnsatisfiable` equals `DoNotSchedule`, scheduler schedules each Pods to Nodes on the domains that have matching Pods. + i.e. scheduler filters Nodes on the domains that don't have matching Pods in the `Filter` phase. +- when `whenUnsatisfiable` equals `ScheduleAnyway`, scheduler prefers Nodes on the domain that have matching Pods. i.e. scheduler gives a high score to Nodes that have matching Pods in the `Score` phase. And, Users can define a minimum number of domains with `minDomains` parameter -When the number of Pods is less than `minDomains`, +When the number of domains < `minDomains`, -- when `whenUnsatisfiable` equals `DoNotSchedule`, scheduler doesn't schedule a matching Pod to Nodes that have matching Pods. - i.e. scheduler filters Nodes that have matching Pods in the `Filter` phase. -- when `whenUnsatisfiable` equals `ScheduleAnyway`, scheduler prefers Nodes that don't have matching Pods. - i.e. scheduler gives a high score to Nodes that don't have matching Pods in the `Score` phase. +- when `whenUnsatisfiable` equals `DoNotSchedule`, scheduler doesn't schedule a matching Pod to Nodes on the domains that have matching Pods. + i.e. scheduler filters Nodes on the domains that have matching Pods in the `Filter` phase. +- when `whenUnsatisfiable` equals `ScheduleAnyway`, scheduler prefers Nodes on the domains that don't have matching Pods. + i.e. scheduler gives a high score to Nodes on the domains that don't have matching Pods in the `Score` phase. ## Proposal @@ -107,19 +107,18 @@ type TopologySpreadConstraint struct { ...... // MaxDomains describes the maximum number of domains. // When the number of Pods is more than `maxDomains`, - // - when `whenUnsatisfiable` equals `DoNotSchedule`, scheduler schedules each Pods to a different Node. - // i.e. scheduler filters Nodes that don't have matching Pods in the `Filter` phase. - // - when `whenUnsatisfiable` equals `ScheduleAnyway`, scheduler prefers Nodes that have matching Pods. + // - when `whenUnsatisfiable` equals `DoNotSchedule`, scheduler schedules each Pods to Nodes on the domains that have matching Pods. + // i.e. scheduler filters Nodes on the domains that don't have matching Pods in the `Filter` phase. + // - when `whenUnsatisfiable` equals `ScheduleAnyway`, scheduler prefers Nodes on the domain that have matching Pods. // i.e. scheduler gives a high score to Nodes that have matching Pods in the `Score` phase. // +optional MaxDomains int32 // MinDomains describes the minimum number of domains. // When the number of Pods is less than `minDomains`, - // - when `whenUnsatisfiable` equals `DoNotSchedule`, - // scheduler doesn't schedule a matching Pod to Nodes that have matching Pods. - // i.e. scheduler filters Nodes that have matching Pods in the `Filter` phase. - // - when `whenUnsatisfiable` equals `ScheduleAnyway`, scheduler prefers Nodes that don't have matching Pods. - // i.e. scheduler gives a high score to Nodes that don't have matching Pods in the `Score` phase. + // - when `whenUnsatisfiable` equals `DoNotSchedule`, scheduler doesn’t schedule a matching Pod to Nodes on the domains that have matching Pods. + // i.e. scheduler filters Nodes on the domains that have matching Pods in the `Filter` phase. + // - when `whenUnsatisfiable` equals `ScheduleAnyway`, scheduler prefers Nodes on the domains that don't have matching Pods. + // i.e. scheduler gives a high score to Nodes on the domains that don't have matching Pods in the `Score` phase. // +optional MinDomains int32 }