Scale services to 2+ replicas for HA

- ArgoCD: server and repo-server → 2 replicas
- GitLab: webservice, sidekiq, registry, KAS, praefect → min 2 replicas
- Guacamole: client and guacd → 2 replicas
- Kiali: 1 → 2 replicas
- Alertmanager: add 2 replicas
- TeslaMate CNPG: 1 → 2 instances

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Scooby Husky
2026-03-15 03:08:49 -05:00
co-authored by Claude Opus 4.6
parent 38b1c16c1e
commit 7eae427d1a
6 changed files with 19 additions and 15 deletions
+2
View File
@@ -56,6 +56,7 @@ configs:
g, Scooby, role:admin g, Scooby, role:admin
server: server:
replicas: 2
extraArgs: extraArgs:
- --insecure # TLS is terminated at Istio gateway - --insecure # TLS is terminated at Istio gateway
@@ -100,6 +101,7 @@ controller:
release: prometheus release: prometheus
repoServer: repoServer:
replicas: 2
hostAliases: hostAliases:
- ip: "172.28.101.244" - ip: "172.28.101.244"
hostnames: hostnames:
+9 -9
View File
@@ -140,7 +140,7 @@ minio:
registry: registry:
enabled: true enabled: true
hpa: hpa:
minReplicas: 1 minReplicas: 2
maxReplicas: 2 maxReplicas: 2
resources: resources:
requests: requests:
@@ -153,9 +153,9 @@ registry:
gitlab: gitlab:
# GitLab Webservice - Main application # GitLab Webservice - Main application
webservice: webservice:
minReplicas: 1 # Homelab sizing minReplicas: 2
maxReplicas: 3 maxReplicas: 3
# Note: hostAliases for OIDC SSL validation are applied via helmfile postsync hook # Note: hostAliases for OIDC SSL validation are applied via helmfile postsync hook
# (GitLab chart doesn't support hostAliases in values.yaml) # (GitLab chart doesn't support hostAliases in values.yaml)
@@ -237,8 +237,8 @@ gitlab:
# GitLab KAS (Kubernetes Agent Server) - enabled for Kubernetes cluster integration # GitLab KAS (Kubernetes Agent Server) - enabled for Kubernetes cluster integration
kas: kas:
enabled: true enabled: true
minReplicas: 1 minReplicas: 2
maxReplicas: 1 maxReplicas: 2
resources: resources:
requests: requests:
cpu: 25m cpu: 25m
@@ -269,8 +269,8 @@ gitlab:
# Praefect - Gitaly Cluster routing and transaction manager # Praefect - Gitaly Cluster routing and transaction manager
praefect: praefect:
enabled: true enabled: true
minReplicas: 1 # Homelab sizing minReplicas: 2
maxReplicas: 1 maxReplicas: 2
# Note: Praefect PostgreSQL config is in global.praefect.psql # Note: Praefect PostgreSQL config is in global.praefect.psql
@@ -302,8 +302,8 @@ gitlab:
# Sidekiq background jobs # Sidekiq background jobs
sidekiq: sidekiq:
minReplicas: 1 # Homelab sizing minReplicas: 2
maxReplicas: 1 maxReplicas: 2
# Note: hostAliases applied via helmfile postsync hook # Note: hostAliases applied via helmfile postsync hook
@@ -13,12 +13,12 @@ metadata:
app: guacamole app: guacamole
component: client component: client
spec: spec:
replicas: 1 replicas: 2
strategy: strategy:
type: RollingUpdate type: RollingUpdate
rollingUpdate: rollingUpdate:
maxSurge: 0 maxSurge: 1
maxUnavailable: 1 maxUnavailable: 0
selector: selector:
matchLabels: matchLabels:
app: guacamole app: guacamole
@@ -159,7 +159,7 @@ metadata:
app: guacamole app: guacamole
component: guacd component: guacd
spec: spec:
replicas: 1 replicas: 2
selector: selector:
matchLabels: matchLabels:
app: guacamole app: guacamole
+1 -1
View File
@@ -5,7 +5,7 @@ metadata:
namespace: teslamate namespace: teslamate
spec: spec:
imageName: ghcr.io/cloudnative-pg/postgresql:16 imageName: ghcr.io/cloudnative-pg/postgresql:16
instances: 1 instances: 2
# Resource limits to prevent OOM # Resource limits to prevent OOM
resources: resources:
+1 -1
View File
@@ -9,7 +9,7 @@ spec:
deployment: deployment:
namespace: istio-system namespace: istio-system
cluster_wide_access: true cluster_wide_access: true
replicas: 1 replicas: 2
pod_labels: pod_labels:
sidecar.istio.io/inject: "true" sidecar.istio.io/inject: "true"
istio.io/dataplane-mode: "none" istio.io/dataplane-mode: "none"
+2
View File
@@ -73,6 +73,8 @@ prometheus:
alertmanager: alertmanager:
enabled: true enabled: true
alertmanagerSpec:
replicas: 2
# Disable node-exporter due to PodSecurity restrictions # Disable node-exporter due to PodSecurity restrictions
prometheus-node-exporter: prometheus-node-exporter: