From 956af48dee59e23734c00305965190509496eece Mon Sep 17 00:00:00 2001 From: Tanguy Herbron Date: Tue, 29 Apr 2025 17:44:32 +0200 Subject: [PATCH] feat(networking): Deploy pod on primary db instance host --- manifests/database-local-service.yaml | 17 +++++++++++++++++ manifests/database.yaml | 8 ++++++++ manifests/deployment.yaml | 16 +++++++++++++++- manifests/kustomization.yaml | 1 + 4 files changed, 41 insertions(+), 1 deletion(-) create mode 100644 manifests/database-local-service.yaml diff --git a/manifests/database-local-service.yaml b/manifests/database-local-service.yaml new file mode 100644 index 0000000..ac854d9 --- /dev/null +++ b/manifests/database-local-service.yaml @@ -0,0 +1,17 @@ +apiVersion: v1 +kind: Service +metadata: + labels: + cnpg.io/cluster: zitadel-db + name: zitadel-db-local + namespace: zitadel +spec: + internalTrafficPolicy: Local + ports: + - name: postgres + port: 5432 + protocol: TCP + targetPort: 5432 + selector: + cnpg.io/cluster: zitadel-db + cnpg.io/instanceRole: primary diff --git a/manifests/database.yaml b/manifests/database.yaml index 88d3d9a..a7f29fa 100644 --- a/manifests/database.yaml +++ b/manifests/database.yaml @@ -54,3 +54,11 @@ spec: monitoring: enablePodMonitor: true + + topologySpreadConstraints: + - maxSkew: 1 + topologyKey: zone + whenUnsatisfiable: DoNotSchedule + labelSelector: + matchLabels: + cnpg.io/cluster: zitadel-db diff --git a/manifests/deployment.yaml b/manifests/deployment.yaml index 283ca90..81db1a6 100644 --- a/manifests/deployment.yaml +++ b/manifests/deployment.yaml @@ -15,6 +15,20 @@ spec: spec: hostname: zitadel subdomain: zitadel + affinity: + podAffinity: + requiredDuringSchedulingIgnoredDuringExecution: + - labelSelector: + matchExpressions: + - key: cnpg.io/cluster + operator: In + values: + - zitadel-db + - key: cnpg.io/instanceRole + operator: In + values: + - primary + topologyKey: "kubernetes.io/hostname" containers: - name: zitadel image: ghcr.io/zitadel/zitadel:v2.71.1 @@ -29,7 +43,7 @@ spec: - containerPort: 8080 env: - name: ZITADEL_DATABASE_POSTGRES_HOST - value: "zitadel-db-rw.zitadel.svc.cluster.local" + value: "zitadel-db-local.zitadel.svc.cluster.local" - name: ZITADEL_DATABASE_POSTGRES_PORT value: "5432" - name: ZITADEL_DATABASE_POSTGRES_DATABASE diff --git a/manifests/kustomization.yaml b/manifests/kustomization.yaml index a7cdb13..bf5a405 100644 --- a/manifests/kustomization.yaml +++ b/manifests/kustomization.yaml @@ -8,5 +8,6 @@ resources: - ingress.yaml - database.yaml - database-backup.yaml + - database-local-service.yaml - configmap.yaml - deployment.yaml