diff --git a/infrastructure/nginx-system/release.yaml b/infrastructure/nginx-system/release.yaml index 172c36bd6bbf71e4bc0ecff7d3743aeb5ddf68d7..f1110c7ce8cbbc5fd23f08085dfe472fcde1b80c 100644 --- a/infrastructure/nginx-system/release.yaml +++ b/infrastructure/nginx-system/release.yaml @@ -31,25 +31,28 @@ metadata: data: values.yaml: | controller: + topologySpreadConstraints: + - labelSelector: + matchLabels: + app.kubernetes.io/name: '{{ include "ingress-nginx.name" . }}' + app.kubernetes.io/instance: '{{ .Release.Name }}' + app.kubernetes.io/component: controller + topologyKey: topology.kubernetes.io/zone + maxSkew: 1 + whenUnsatisfiable: ScheduleAnyway + matchLabelKeys: + - pod-template-hash + - labelSelector: + matchLabels: + app.kubernetes.io/name: '{{ include "ingress-nginx.name" . }}' + app.kubernetes.io/instance: '{{ .Release.Name }}' + app.kubernetes.io/component: controller + topologyKey: kubernetes.io/hostname + maxSkew: 1 + whenUnsatisfiable: DoNotSchedule + matchLabelKeys: + - pod-template-hash affinity: - # Force spread across nodes - podAntiAffinity: - requiredDuringSchedulingIgnoredDuringExecution: - - labelSelector: - matchExpressions: - - key: app.kubernetes.io/name - operator: In - values: - - ingress-nginx - - key: app.kubernetes.io/instance - operator: In - values: - - nginx-ingress - - key: app.kubernetes.io/component - operator: In - values: - - controller - topologyKey: "kubernetes.io/hostname" nodeAffinity: preferredDuringSchedulingIgnoredDuringExecution: - weight: 5