FEAT(storage): enable HA with replica 2 and soft anti-affinity

- Add replicaCount: 2 to cnpg, pgweb, velero-ui, minio-console
- Add soft pod anti-affinity for node distribution
- Configure affinity for all storage components
This commit is contained in:
2026-01-08 13:16:43 +09:00
parent 93beb1c3b0
commit 7487b477a7
4 changed files with 43 additions and 5 deletions

View File

@@ -8,7 +8,7 @@ image:
pullPolicy: IfNotPresent
# Replica count for operator
replicaCount: 1
replicaCount: 2
# Resource requests for operator
resources:
@@ -67,8 +67,16 @@ nodeSelector: {}
# Tolerations
tolerations: []
# Affinity
affinity: {}
# Affinity - Soft Anti-Affinity to spread pods across nodes
affinity:
podAntiAffinity:
preferredDuringSchedulingIgnoredDuringExecution:
- weight: 100
podAffinityTerm:
labelSelector:
matchLabels:
app.kubernetes.io/name: cloudnative-pg
topologyKey: kubernetes.io/hostname
# Security context
securityContext:

View File

@@ -6,7 +6,7 @@ metadata:
labels:
app: minio-console
spec:
replicas: 1
replicas: 2
selector:
matchLabels:
app: minio-console
@@ -15,6 +15,15 @@ spec:
labels:
app: minio-console
spec:
affinity:
podAntiAffinity:
preferredDuringSchedulingIgnoredDuringExecution:
- weight: 100
podAffinityTerm:
labelSelector:
matchLabels:
app: minio-console
topologyKey: kubernetes.io/hostname
containers:
- name: console
image: ghcr.io/georgmangold/console:v1.9.1

View File

@@ -3,6 +3,7 @@
controllers:
main:
replicaCount: 2
annotations:
reloader.stakater.com/auto: "true"
containers:
@@ -42,6 +43,16 @@ controllers:
port: 8081
initialDelaySeconds: 5
periodSeconds: 5
# Affinity - Soft Anti-Affinity to spread pods across nodes
affinity:
podAntiAffinity:
preferredDuringSchedulingIgnoredDuringExecution:
- weight: 100
podAffinityTerm:
labelSelector:
matchLabels:
app.kubernetes.io/name: pgweb
topologyKey: kubernetes.io/hostname
service:
main:

View File

@@ -71,7 +71,7 @@ spec:
tag: latest
pullPolicy: IfNotPresent
replicaCount: 1
replicaCount: 2
resources:
requests:
@@ -87,6 +87,16 @@ spec:
env:
- name: BASIC_AUTH_ENABLED
value: "false"
affinity:
podAntiAffinity:
preferredDuringSchedulingIgnoredDuringExecution:
- weight: 100
podAffinityTerm:
labelSelector:
matchLabels:
app: velero-ui
topologyKey: kubernetes.io/hostname
envFrom: []
podSecurityContext: