Flux vs ArgoCD
Flux CD:
CNCF graduated Projekt
Kubernetes-nativ (alles sind CRDs!)
Kein extra UI (nutzt Kubernetes selbst)
Skalierbar, leichtgewichtig
Flux-CLI und VSCode-Extension
ArgoCD:
Reichhaltige Web-UI
Multi-Cluster-Dashboard
RBAC und Benutzer-Management eingebaut
Visuelles Sync-Status fuer Teams
Empfehlung:
Einzelner Cluster, kein UI-Bedarf → Flux
Multi-Cluster, Team-UI gewuenscht → ArgoCD
Beide: vollstaendig kompatibel, kombinierbar
Flux installieren
# Flux CLI installieren
curl -s https://fluxcd.io/install.sh | bash
# Bootstrap in Kubernetes (mit GitHub)
flux bootstrap github --owner=meinefirma --repository=k8s-cluster --branch=main --path=./clusters/production --personal
# Alternativ: Gitea/GitLab
flux bootstrap gitlab --owner=meinefirma --repository=k8s-cluster --hostname=gitea.firma.local --path=./clusters/production
# Status pruefen
flux check
flux get all
GitRepository und Kustomization
# clusters/production/flux-system/gitrepo-app.yaml
apiVersion: source.toolkit.fluxcd.io/v1
kind: GitRepository
metadata:
name: meine-app
namespace: flux-system
spec:
interval: 1m
url: https://github.com/meinefirma/meine-app-manifeste
ref:
branch: main
# clusters/production/flux-system/kustomization-app.yaml
apiVersion: kustomize.toolkit.fluxcd.io/v1
kind: Kustomization
metadata:
name: meine-app
namespace: flux-system
spec:
interval: 5m
path: ./k8s/overlays/production
prune: true
sourceRef:
kind: GitRepository
name: meine-app
wait: true
timeout: 3m
Helm mit Flux (HelmRelease)
# Helm Repository
apiVersion: source.toolkit.fluxcd.io/v1beta2
kind: HelmRepository
metadata:
name: bitnami
namespace: flux-system
spec:
interval: 12h
url: https://charts.bitnami.com/bitnami
# HelmRelease
apiVersion: helm.toolkit.fluxcd.io/v2beta2
kind: HelmRelease
metadata:
name: nginx
namespace: default
spec:
interval: 5m
chart:
spec:
chart: nginx
version: '>=1.0.0'
sourceRef:
kind: HelmRepository
name: bitnami
namespace: flux-system
values:
replicaCount: 2
service:
type: ClusterIP
FAQ
Wie bekomme ich Benachrichtigungen bei Flux-Events?
Flux hat ein Notification Controller: Alerts zu Slack, Teams, Discord oder Webhook konfigurierbar. Events wie "Sync fehlgeschlagen" werden sofort gemeldet.
Fazit
Flux CD ist das eleganteste GitOps-Tool fuer Kubernetes: vollstaendig Kubernetes-nativ, leichtgewichtig und CNCF-reif.
Kubernetes GitOps fuer KMU in Heidelberg, Mannheim und der Rhein-Neckar-Region. Beratung anfragen.