mirror of
https://gitlab.kube.huskypup.net/Scooby/Homelabv4.git
synced 2026-08-20 23:16:49 +00:00
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:
co-authored by
Claude Opus 4.6
parent
38b1c16c1e
commit
7eae427d1a
@@ -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:
|
||||||
|
|||||||
@@ -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,7 +153,7 @@ 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
|
||||||
@@ -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
|
||||||
|
|||||||
@@ -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:
|
||||||
|
|||||||
@@ -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"
|
||||||
|
|||||||
@@ -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:
|
||||||
|
|||||||
Reference in New Issue
Block a user