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

- Add replicaCount: 2 to all web applications
- Add soft pod anti-affinity for node distribution
- Update chart template to handle affinity correctly
- Configure affinity for todo, portfolio, jovies, jotion, joossam, joossam-dev, jaejadle, jaejadle-dev
This commit is contained in:
2026-01-08 13:25:46 +09:00
parent 286e292780
commit 4d67fb64f9
10 changed files with 93 additions and 11 deletions

View File

@@ -76,7 +76,20 @@ spec:
{{- end }}
{{- with .Values.affinity }}
affinity:
{{- if and .podAntiAffinity .podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution }}
podAntiAffinity:
preferredDuringSchedulingIgnoredDuringExecution:
{{- range .podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution }}
- weight: {{ .weight }}
podAffinityTerm:
labelSelector:
matchLabels:
app: {{ include "web-app.fullname" $ }}
topologyKey: {{ .podAffinityTerm.topologyKey }}
{{- end }}
{{- else }}
{{- toYaml . | nindent 8 }}
{{- end }}
{{- end }}
{{- with .Values.tolerations }}
tolerations:

View File

@@ -15,7 +15,7 @@ imagePullSecrets:
- name: ghcr-secret
# Replicas
replicaCount: 1
replicaCount: 2
# Container port
containerPort: 3000
@@ -106,5 +106,10 @@ nodeSelector: {}
# Tolerations
tolerations: []
# Affinity
affinity: {}
# Affinity - Soft Anti-Affinity to spread pods across nodes
affinity:
podAntiAffinity:
preferredDuringSchedulingIgnoredDuringExecution:
- weight: 100
podAffinityTerm:
topologyKey: kubernetes.io/hostname