diff --git a/root/values_large.yaml b/root/values_large.yaml index 2f34d6eb..c9aa50bc 100644 --- a/root/values_large.yaml +++ b/root/values_large.yaml @@ -53,6 +53,13 @@ enabledApps: - rabbitmq apps: + airm-infra-cnpg: + valuesObject: + instances: 2 + keycloak: + valuesObject: + cnpg: + instances: 2 seaweedfs-config: valuesObject: seaweed: diff --git a/sources/keycloak-old/templates/keycloak-cnpg.yaml b/sources/keycloak-old/templates/keycloak-cnpg.yaml index ee35097c..960c408e 100644 --- a/sources/keycloak-old/templates/keycloak-cnpg.yaml +++ b/sources/keycloak-old/templates/keycloak-cnpg.yaml @@ -11,7 +11,8 @@ metadata: spec: affinity: enablePodAntiAffinity: true - topologyKey: topology.kubernetes.io/zone + podAntiAffinityType: {{ .Values.cnpg.podAntiAffinityType | quote }} + topologyKey: {{ .Values.cnpg.topologyKey | quote }} bootstrap: initdb: database: {{ .Values.postgresql.database }} diff --git a/sources/keycloak-old/values.yaml b/sources/keycloak-old/values.yaml index 1c839edf..c7dc725c 100644 --- a/sources/keycloak-old/values.yaml +++ b/sources/keycloak-old/values.yaml @@ -14,6 +14,8 @@ cnpg: # so node maintenance stalls until someone disables it by hand. # Set true or false to override. enablePDB: null + podAntiAffinityType: "preferred" + topologyKey: "kubernetes.io/hostname" storage: storageClassName: "default" diff --git a/sources/seaweedfs-config/templates/seaweedfs-seaweed.yaml b/sources/seaweedfs-config/templates/seaweedfs-seaweed.yaml index e546bd87..602343b2 100644 --- a/sources/seaweedfs-config/templates/seaweedfs-seaweed.yaml +++ b/sources/seaweedfs-config/templates/seaweedfs-seaweed.yaml @@ -13,6 +13,18 @@ spec: enabled: false replicas: {{ .master.replicas }} volumeSizeLimitMB: 1024 + affinity: + podAntiAffinity: + preferredDuringSchedulingIgnoredDuringExecution: + - weight: 100 + podAffinityTerm: + labelSelector: + matchExpressions: + - key: app.kubernetes.io/component + operator: In + values: + - master + topologyKey: {{ $.Values.seaweed.affinity.topologyKey }} volume: ingress: enabled: false @@ -23,8 +35,32 @@ spec: # Topology configuration for rack/datacenter-aware placement rack: "rack1" dataCenter: "dc1" + affinity: + podAntiAffinity: + preferredDuringSchedulingIgnoredDuringExecution: + - weight: 100 + podAffinityTerm: + labelSelector: + matchExpressions: + - key: app.kubernetes.io/component + operator: In + values: + - volume + topologyKey: {{ $.Values.seaweed.affinity.topologyKey }} filer: replicas: {{ .filer.replicas }} + affinity: + podAntiAffinity: + preferredDuringSchedulingIgnoredDuringExecution: + - weight: 100 + podAffinityTerm: + labelSelector: + matchExpressions: + - key: app.kubernetes.io/component + operator: In + values: + - filer + topologyKey: {{ $.Values.seaweed.affinity.topologyKey }} volumes: - name: s3-metadata persistentVolumeClaim: diff --git a/sources/seaweedfs-config/values.yaml b/sources/seaweedfs-config/values.yaml index ab70a10f..cf929d9c 100644 --- a/sources/seaweedfs-config/values.yaml +++ b/sources/seaweedfs-config/values.yaml @@ -1,6 +1,8 @@ domain: # to be filled by cluster-forge app seaweed: storageClassName: mlstorage + affinity: + topologyKey: "kubernetes.io/hostname" master: replicas: 1 volumeSizeLimitMB: 1024