-
Notifications
You must be signed in to change notification settings - Fork 1k
Open
Description
Summary:
This issue is used to track the iteration tasks of feature Workload Affinity described at #4968.
See proposal(#6685) for more details.
Iteration Tasks -- Part-1: workload anti-affinity:
- Finalize the proposal. (@mszacillo, Adding proposal for workload affinity and anti-affinity support #6685)
- Decouple placement(.
spec.placement) inResourceBindingfromPropagationPolicy- Refactor the ResourceBinding API to define its own independent placement structure instead of reusing the one from PropagationPolicy, as their placement semantics and fields are not identical.
- Introduce anti-affinity field to
PropagationPolicy. - Grab the affinity group from the resource template and populate it in ResourceBinding.
- Introduce a new feature gate
TBDfor this feature, started withalphaand disabled by default.- Feature gate name candidates:
WorkloadAffinity,SingleWorkloadAffinityGroup.
- Feature gate name candidates:
- karmda-scheduler: build a global index based on the affinity group identifier declared in ResourceBinding.
- Introduce a filter plugin for filter clusters by taking anti-affinity group into account.
- A tricky part of this, we need to make sure the ResourceBinding the plugin is looking at is the latest one. (cache might not get a chance to update)
- Setup E2E tests
- TBD
- Add documentation
Iteration Tasks -- Part-2: workload affinity:
mszacillo
Metadata
Metadata
Assignees
Labels
No labels
Type
Projects
Status
Planned In Release 1.17