From 613d9df5c6401163ed1f0997ed9bac43ae144fe0 Mon Sep 17 00:00:00 2001 From: pinkneyj Date: Wed, 1 Jul 2026 09:57:20 +0100 Subject: [PATCH] add component-specific pod anti-affinity to aggregator and server deployments --- charts/cloudzero-agent/templates/agent-deploy.yaml | 4 +++- charts/cloudzero-agent/templates/aggregator-deploy.yaml | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/charts/cloudzero-agent/templates/agent-deploy.yaml b/charts/cloudzero-agent/templates/agent-deploy.yaml index 8c05115f..8d1cc80d 100644 --- a/charts/cloudzero-agent/templates/agent-deploy.yaml +++ b/charts/cloudzero-agent/templates/agent-deploy.yaml @@ -342,7 +342,9 @@ spec: {{- include "cloudzero-agent.generateImagePullSecrets" (dict "root" . "image" .Values.components.prometheus.image) | nindent 6 }} {{- include "cloudzero-agent.generateNodeSelector" (dict "default" .Values.defaults.nodeSelector "nodeSelector" .Values.server.nodeSelector) | nindent 6 }} {{- include "cloudzero-agent.generateTolerations" (concat .Values.defaults.tolerations .Values.server.tolerations) | nindent 6 }} - {{- include "cloudzero-agent.generateAffinity" (dict "default" .Values.defaults.affinity "affinity" .Values.server.affinity) | nindent 6 }} + {{- $podAntiAffinity := dict "podAntiAffinity" (dict "preferredDuringSchedulingIgnoredDuringExecution" (list (dict "weight" 100 "podAffinityTerm" (dict "labelSelector" (dict "matchLabels" (dict "app.kubernetes.io/name" "server")) "topologyKey" "kubernetes.io/hostname")))) }} + {{- $userAffinity := deepCopy (.Values.server.affinity | default (dict)) }} + {{- include "cloudzero-agent.generateAffinity" (dict "default" .Values.defaults.affinity "affinity" (merge $userAffinity $podAntiAffinity)) | nindent 6 }} {{- with .Values.server.topologySpreadConstraints }} topologySpreadConstraints: {{- toYaml . | nindent 8 }} diff --git a/charts/cloudzero-agent/templates/aggregator-deploy.yaml b/charts/cloudzero-agent/templates/aggregator-deploy.yaml index a571f338..530d6f29 100644 --- a/charts/cloudzero-agent/templates/aggregator-deploy.yaml +++ b/charts/cloudzero-agent/templates/aggregator-deploy.yaml @@ -175,7 +175,9 @@ spec: {{- include "cloudzero-agent.generateDNSInfo" (dict "defaults" .Values.defaults.dns) | nindent 6 }} {{- include "cloudzero-agent.generateImagePullSecrets" (dict "root" . "image" .Values.components.agent.image) | nindent 6 }} {{- include "cloudzero-agent.generateNodeSelector" (dict "default" .Values.defaults.nodeSelector "nodeSelector" .Values.aggregator.nodeSelector) | nindent 6 }} - {{- include "cloudzero-agent.generateAffinity" (dict "default" .Values.defaults.affinity) | nindent 6 }} + {{- $podAntiAffinity := dict "podAntiAffinity" (dict "preferredDuringSchedulingIgnoredDuringExecution" (list (dict "weight" 100 "podAffinityTerm" (dict "labelSelector" (dict "matchLabels" (dict "app.kubernetes.io/name" "aggregator")) "topologyKey" "kubernetes.io/hostname")))) }} + {{- $userAffinity := deepCopy (.Values.aggregator.affinity | default (dict)) }} + {{- include "cloudzero-agent.generateAffinity" (dict "default" .Values.defaults.affinity "affinity" (merge $userAffinity $podAntiAffinity)) | nindent 6 }} {{- include "cloudzero-agent.generateTolerations" (concat .Values.defaults.tolerations) | nindent 6 }} {{- with .Values.server.topologySpreadConstraints }}