Chart: Make pod affinity templatable. (#11453)
* [helm] template pod affinity * update README * Apply suggestions from code review Co-authored-by: Marco Ebert <marco_ebert@icloud.com> * revert Chart.yaml version bump * add unittests * add docs defaultBackend.affinity * add README section to values * fix README syntax * Apply suggestions from code review Co-authored-by: Marco Ebert <marco_ebert@icloud.com> * Update charts/ingress-nginx/values.yaml Co-authored-by: Marco Ebert <marco_ebert@icloud.com> * update formatting of unittests + add README examples * fix affinity labels on default-backend * Apply suggestions from code review Co-authored-by: Marco Ebert <marco_ebert@icloud.com> * remove double quotes on string --------- Co-authored-by: Marco Ebert <marco_ebert@icloud.com>
This commit is contained in:
parent
8ca27e7ee9
commit
af9e5246ad
8 changed files with 179 additions and 9 deletions
|
|
@ -118,3 +118,45 @@ tests:
|
|||
topologyKey: kubernetes.io/hostname
|
||||
maxSkew: 1
|
||||
whenUnsatisfiable: ScheduleAnyway
|
||||
|
||||
- it: should create a Deployment with affinity if `controller.affinity` is set
|
||||
set:
|
||||
controller.affinity:
|
||||
podAntiAffinity:
|
||||
requiredDuringSchedulingIgnoredDuringExecution:
|
||||
- labelSelector:
|
||||
matchExpressions:
|
||||
- key: app.kubernetes.io/name
|
||||
operator: In
|
||||
values:
|
||||
- '{{ include "ingress-nginx.name" . }}'
|
||||
- key: app.kubernetes.io/instance
|
||||
operator: In
|
||||
values:
|
||||
- '{{ .Release.Name }}'
|
||||
- key: app.kubernetes.io/component
|
||||
operator: In
|
||||
values:
|
||||
- controller
|
||||
topologyKey: kubernetes.io/hostname
|
||||
asserts:
|
||||
- equal:
|
||||
path: spec.template.spec.affinity
|
||||
value:
|
||||
podAntiAffinity:
|
||||
requiredDuringSchedulingIgnoredDuringExecution:
|
||||
- labelSelector:
|
||||
matchExpressions:
|
||||
- key: app.kubernetes.io/name
|
||||
operator: In
|
||||
values:
|
||||
- ingress-nginx
|
||||
- key: app.kubernetes.io/instance
|
||||
operator: In
|
||||
values:
|
||||
- RELEASE-NAME
|
||||
- key: app.kubernetes.io/component
|
||||
operator: In
|
||||
values:
|
||||
- controller
|
||||
topologyKey: kubernetes.io/hostname
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue