Skip to content

Commit

Permalink
Update goals and alternatives
Browse files Browse the repository at this point in the history
Signed-off-by: Aldo Culquicondor <acondor@google.com>
  • Loading branch information
alculquicondor committed Oct 4, 2019
1 parent 241e9e2 commit 4d55c62
Showing 1 changed file with 12 additions and 2 deletions.
14 changes: 12 additions & 2 deletions keps/sig-scheduling/20190926-default-even-pod-spreading.md
Original file line number Diff line number Diff line change
Expand Up @@ -85,10 +85,13 @@ them suitable to provide default spreading constraints for all workloads in thei
`pod.spec.topologySpreadConstraints`.
- Workloads are spread with the default constraints if they belong to the same service, replication controller,
replica set or stateful set, and if they don't define `pod.spec.topologySpreadConstraints`.
- Provide a k8s default for `topologySpreadConstraints` that produces a priority equivalent to
`SelectorSpreadPriority`, so that this algorithm can be removed from the default algorithms' provider.

### Non-Goals

- Removal of `SelectorSpreadPriority`, `ServiceSpreadingPriority` or `ServiceAntiAffinity` priorities.
- Set defaults for specific namespaces or according to other selectors.
- Removal of `ServiceSpreadingPriority` or `ServiceAntiAffinity` priorities.

## Proposal

Expand Down Expand Up @@ -281,4 +284,11 @@ Alpha (v1.17):
While this moves the scheduler in the right direction, there are two problems:

1. We can only support one topology key.
1. It makes it hard for pods to override the operator-provided spreading rules.
1. It makes it hard for pods to override the operator-provided spreading rules.

- Implement a mutating controller that sets defaults.

This approach would likely allow us to provide a more flexible interface that
can set defaults for specific namespaces or with other selectors. However, that
wouldn't allow us to replace `SelectorSpreadingPriority` with
`EvenPodsSpreading`.

0 comments on commit 4d55c62

Please sign in to comment.