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

- Add replicaCount: 2 to docusaurus, headlamp, homer, mas, umami
- Add soft pod anti-affinity for node distribution
- Enable high availability across multiple nodes
This commit is contained in:
2026-01-08 12:46:58 +09:00
parent 17cce6ed23
commit fd1548c70c
5 changed files with 57 additions and 2 deletions

View File

@@ -3,6 +3,7 @@
controllers:
main:
replicaCount: 2
annotations:
docusaurus/source-hash: "2024-12-30-v1"
initContainers:
@@ -55,6 +56,16 @@ controllers:
port: 80
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: docusaurus
topologyKey: kubernetes.io/hostname
service:
main:

View File

@@ -1,6 +1,6 @@
# Headlamp Helm Values
replicaCount: 1
replicaCount: 2
image:
registry: ghcr.io
@@ -52,3 +52,14 @@ config:
name: headlamp-oidc
extraArgs:
- -oidc-skip-tls-verify
# Affinity - Soft Anti-Affinity to spread pods across nodes
affinity:
podAntiAffinity:
preferredDuringSchedulingIgnoredDuringExecution:
- weight: 100
podAffinityTerm:
labelSelector:
matchLabels:
app.kubernetes.io/name: headlamp
topologyKey: kubernetes.io/hostname

View File

@@ -3,6 +3,7 @@
controllers:
main:
replicaCount: 2
initContainers:
copy-homer-files:
image:
@@ -39,6 +40,16 @@ controllers:
memory: 100Mi
limits:
memory: 150Mi
# Affinity - Soft Anti-Affinity to spread pods across nodes
affinity:
podAntiAffinity:
preferredDuringSchedulingIgnoredDuringExecution:
- weight: 100
podAffinityTerm:
labelSelector:
matchLabels:
app.kubernetes.io/name: homer
topologyKey: kubernetes.io/hostname
service:
main:

View File

@@ -12,6 +12,7 @@ serviceAccount:
controllers:
main:
replicaCount: 2
strategy: RollingUpdate
rollingUpdate:
unavailable: 0
@@ -76,6 +77,16 @@ controllers:
port: 8000
initialDelaySeconds: 0
periodSeconds: 5
# Affinity - Soft Anti-Affinity to spread pods across nodes
affinity:
podAntiAffinity:
preferredDuringSchedulingIgnoredDuringExecution:
- weight: 100
podAffinityTerm:
labelSelector:
matchLabels:
app.kubernetes.io/name: mas
topologyKey: kubernetes.io/hostname
service:
main:

View File

@@ -44,7 +44,7 @@ resources:
limits:
memory: 576Mi
replicaCount: 1
replicaCount: 2
# Autoscaling
autoscaling:
@@ -77,3 +77,14 @@ readinessProbe:
port: 3000
initialDelaySeconds: 0
periodSeconds: 5
# Affinity - Soft Anti-Affinity to spread pods across nodes
affinity:
podAntiAffinity:
preferredDuringSchedulingIgnoredDuringExecution:
- weight: 100
podAffinityTerm:
labelSelector:
matchLabels:
app.kubernetes.io/name: umami
topologyKey: kubernetes.io/hostname