39 lines
1.1 KiB
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
|