Zum Inhalt springen

Kubernetes, Argo CD und Flux

Die Dimension “Wo läuft dieser Service, und ist er gesund” des Service-Katalogs wird aus drei Quellen gespeist: einer direkten Kubernetes-Cluster-Abfrage, Argo CD und Flux. Alle drei synchronisieren im Hintergrund alle 10 Minuten; die Schaltfläche Jetzt synchronisieren auf der Integrationsseite startet einen Lauf ohne Wartezeit.

Deployment-, StatefulSet-, DaemonSet- und CronJob-Workloads werden direkt aus der Kubernetes-API gelesen - das deckt alles Laufende ab, auch Umgebungen ohne GitOps-Werkzeug. Pod-Anzahlen (bereit/gewünscht) und Workload-Gesundheit stammen aus dieser Abfrage.

  1. Gehen Sie zu Integrationen → Kubernetes → Verbinden.
  2. Geben Sie die API-Server-Adresse (https://...) und ein ServiceAccount-Token ein.
  3. Das Token wird verschlüsselt gespeichert; die Verbindung wird vor dem Speichern geprüft.

Ein rein lesender ServiceAccount genügt. list wird zum Massenlesen der Workloads benötigt, get zum Lesen des Status einzelner Workloads (Pod-Anzahlen) - gewähren Sie beides:

apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: apparch-reader
rules:
- apiGroups: ["apps"]
resources: ["deployments", "statefulsets", "daemonsets"]
verbs: ["list", "get"]
- apiGroups: ["batch"]
resources: ["cronjobs"]
verbs: ["list"]
# Wenn Sie Flux einsetzen, sind auch diese drei Regeln erforderlich (siehe unten):
- apiGroups: ["source.toolkit.fluxcd.io"]
resources: ["gitrepositories"]
verbs: ["list"]
- apiGroups: ["kustomize.toolkit.fluxcd.io"]
resources: ["kustomizations"]
verbs: ["list"]
- apiGroups: ["helm.toolkit.fluxcd.io"]
resources: ["helmreleases"]
verbs: ["list"]

Binden Sie die Rolle an einen ServiceAccount und übergeben Sie dessen Token an AppArch:

Terminal-Fenster
kubectl create serviceaccount apparch-reader
kubectl create clusterrolebinding apparch-reader \
--clusterrole=apparch-reader --serviceaccount=default:apparch-reader
kubectl create token apparch-reader --duration=8760h

Argo CD liefert pro Application Umgebung, Sync-/Gesundheitsstatus und den laufenden Commit. Verbinden Sie über Integrationen → Argo CD → Verbinden mit der Argo-CD-Server-Adresse und einem API-Token (nötig, wenn anonymer Lesezugriff deaktiviert ist). Pod-Anzahlen werden aus dem Resource-Tree jeder Application gelesen.

Flux benötigt keine eigene Verbindung - es lebt als Custom Resources (Kustomization, HelmRelease) in Ihrem Cluster und wird über die bestehende Kubernetes-Verbindung gelesen. Sie brauchen lediglich die drei Flux-Regeln aus dem RBAC-Beispiel oben auf Ihrem Token. Wird Flux erkannt, erscheint ein Flux-Badge in der Kubernetes-Zeile der Integrationsseite.