Files
gitops/apps/argocd-config/argocd-ha-patch.yaml

39 lines
1.1 KiB
YAML

# ArgoCD HA Patch
# Patches das argocd-server Deployment für High Availability
apiVersion: apps/v1
kind: Deployment
metadata:
name: argocd-server
namespace: argocd
spec:
replicas: 2 # HA: Mindestens 2 Replicas für Ausfallsicherheit
template:
spec:
affinity:
podAntiAffinity:
# Hard Rule: Pods müssen auf verschiedenen Nodes laufen
requiredDuringSchedulingIgnoredDuringExecution:
- labelSelector:
matchExpressions:
- key: app.kubernetes.io/name
operator: In
values:
- argocd-server
topologyKey: kubernetes.io/hostname
# WICHTIG: Controller flag für HA Mode
# --disable-auth sollte NICHT gesetzt werden in HA Mode
# --insecure wird bereits vom Standard-Manifest gesetzt
---
apiVersion: policy/v1
kind: PodDisruptionBudget
metadata:
name: argocd-server
namespace: argocd
spec:
minAvailable: 1 # Mindestens 1 Pod muss immer verfügbar sein
selector:
matchLabels:
app.kubernetes.io/name: argocd-server