Referenzarchitektur für Stateful Kubernetes-Anwendungen mit GitOps
Stand: 30. Juli 2025
Zusammenfassung
Eine umfassende Referenzarchitektur für den Betrieb von Stateful-Anwendungen in Kubernetes mit GitOps-Ansatz. Die Lösung umfasst Managed Kubernetes (AKS/EKS), ArgoCD für GitOps, umfangreiche Monitoring- und Backup-Strategien sowie ein durchdachtes Secrets-Management.
Cloud Platform - oder Azure based on-prem
- AKS (Azure Kubernetes Service) oder EKS (Elastic Kubernetes Service)
→ Managed Kubernetes-Cluster als sichere und skalierbare Laufzeitumgebung
→ Optional: Separater System-/User-NodePool, Cluster Autoscaler aktiviert
Deployment & GitOps
- Helm Charts
→ Standardisierte, wiederverwendbare Paketierung und Konfiguration von Anwendungen
- ArgoCD
→ GitOps-Controller: verfolgt Git-Repositories und synchronisiert automatisch Deployments
→ Unterstützt Helm, Kustomize, Raw YAML
→ Mit automatischem Sync & Self-Healing aktiviert
Applikations-Pods
- Beispiel: Keycloak Pods (Quarkus-basiert, minimal stateful)
- PostgreSQL
- Extern verwaltet (Azure Database for PostgreSQL / RDS) empfohlen
- Alternativ: StatefulSet im Cluster, z. B. für Testumgebungen
Ingress & Netzwerk
- Ingress Controller
nginx/httpd: Flexibel, weit verbreitet, unabhängig
AGIC: Native Azure-Anbindung (nur AKS)
- Ingress Resource
- TLS-Termination (z. B. via cert-manager)
- Hostname- & Pfad-basiertes Routing
- HTTP→HTTPS Redirects, CORS etc.
Monitoring & Logging
- Azure Monitor + Container Insights (AKS)
- Standardlösung in Azure für Cluster-bezogene Logs & Metriken
- Prometheus + Grafana (optional für App-Metriken)
- Für detaillierte Dashboards, Metriken (JVM, Keycloak intern, DB etc.)
- Alertmanager für dediziertes Alerting-Setup
Secrets & Konfiguration
- Sealed Secrets (Bitnami) oder SOPS:
- GitOps-kompatibles Secret Management
- Vault (HashiCorp):
- Für dynamische, zentral verwaltete Secrets
- Azure Key Vault mit CSI Driver (AKS) oder AWS Secrets Manager (EKS)
- Native Integration in die jeweilige Cloud
DNS-Automatisierung
- ExternalDNS
- Automatische DNS-Einträge für
Ingress-Hosts
- Backend: Azure DNS Zones (AKS) oder Route 53 (EKS)
Speicher
- PVCs (Persistent Volume Claims)
- Optional für benutzerdefinierte Themes, Keycloak-Exports, Zertifikate, lokale Backups
- Keycloak-Core selbst läuft in der Regel stateless
Backup & Restore
Backup-Lösung (für Cluster-Ressourcen + Persistent Data):
- Velero (de-facto Standard, Open Source)
→ Backups von Kubernetes-Ressourcen + PVCs (per CSI Snapshot oder Restic)
→ Unterstützt AKS, EKS, S3, Azure Blob etc.
- Alternativen (kommerziell):
- Kasten K10 (Veeam)
- TrilioVault
- Cloud-native Snapshotting mit Azure Backup / AWS Backup