Add support for topologySpreadConstraints
What does this MR do?
Adds support for pod topologySpreadConstraints, this is useful for example to balance number of pods per zone.
Example usage:
gitlab:
kas:
topologySpreadConstraints:
- maxSkew: 1
topologyKey: zone
whenUnsatisfiable: ScheduleAnyway
labelSelector:
matchLabels:
app: kas
release: gitlab
Related issues
- Closes #2890
- Uneven LB traffic gitlab-com/gl-infra/delivery#2296 (moved)
- Nodepool efficiency https://gitlab.com/gitlab-com/gl-infra/reliability/-/issues/15901
Checklist
See Definition of done.
For anything in this list which will not be completed, please provide a reason in the MR discussion.
Required
-
Merge Request Title and Description are up to date, accurate, and descriptive -
MR targeting the appropriate branch -
MR has a green pipeline on GitLab.com
Expected (please provide an explanation if not completing)
-
Test plan indicating conditions for success has been posted and passes -
Documentation created/updated -
Tests added -
Integration tests added to GitLab QA -
Equivalent MR/issue for omnibus-gitlab opened
Edited by Filipe Santos