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: controllers:
main: main:
replicaCount: 2
annotations: annotations:
docusaurus/source-hash: "2024-12-30-v1" docusaurus/source-hash: "2024-12-30-v1"
initContainers: initContainers:
@@ -55,6 +56,16 @@ controllers:
port: 80 port: 80
initialDelaySeconds: 5 initialDelaySeconds: 5
periodSeconds: 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: service:
main: main:

View File

@@ -1,6 +1,6 @@
# Headlamp Helm Values # Headlamp Helm Values
replicaCount: 1 replicaCount: 2
image: image:
registry: ghcr.io registry: ghcr.io
@@ -52,3 +52,14 @@ config:
name: headlamp-oidc name: headlamp-oidc
extraArgs: extraArgs:
- -oidc-skip-tls-verify - -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: controllers:
main: main:
replicaCount: 2
initContainers: initContainers:
copy-homer-files: copy-homer-files:
image: image:
@@ -39,6 +40,16 @@ controllers:
memory: 100Mi memory: 100Mi
limits: limits:
memory: 150Mi 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: service:
main: main:

View File

@@ -12,6 +12,7 @@ serviceAccount:
controllers: controllers:
main: main:
replicaCount: 2
strategy: RollingUpdate strategy: RollingUpdate
rollingUpdate: rollingUpdate:
unavailable: 0 unavailable: 0
@@ -76,6 +77,16 @@ controllers:
port: 8000 port: 8000
initialDelaySeconds: 0 initialDelaySeconds: 0
periodSeconds: 5 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: service:
main: main:

View File

@@ -44,7 +44,7 @@ resources:
limits: limits:
memory: 576Mi memory: 576Mi
replicaCount: 1 replicaCount: 2
# Autoscaling # Autoscaling
autoscaling: autoscaling:
@@ -77,3 +77,14 @@ readinessProbe:
port: 3000 port: 3000
initialDelaySeconds: 0 initialDelaySeconds: 0
periodSeconds: 5 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