DevOps Experte
ArgoCD — Erweiterte Konfiguration¶
ArgoCDGitOpsKubernetesMulti-cluster 5 Min. Lesezeit
ArgoCD ApplicationSets, Multi-Cluster-Management, Sync Waves und Hook-basierte Deployments.
ApplicationSets¶
Der ApplicationSet Controller generiert ArgoCD Applications dynamisch — ideal für Multi-Cluster- und Multi-Tenant-Szenarien.
apiVersion: argoproj.io/v1alpha1
kind: ApplicationSet
metadata:
name: microservices
spec:
generators:
- git:
repoURL: https://github.com/org/manifests
revision: main
directories:
- path: apps/*
template:
metadata:
name: '{{path.basename}}'
spec:
project: default
source:
repoURL: https://github.com/org/manifests
targetRevision: main
path: '{{path}}'
destination:
server: https://kubernetes.default.svc
namespace: '{{path.basename}}'
Sync Waves & Hooks¶
Sync Waves steuern die Deployment-Reihenfolge. Hooks führen Jobs in bestimmten Phasen des Sync-Zyklus aus.
metadata:
annotations:
argocd.argoproj.io/sync-wave: "-1"
argocd.argoproj.io/hook: PreSync
---
apiVersion: batch/v1
kind: Job
metadata:
name: db-migration
annotations:
argocd.argoproj.io/hook: PreSync
argocd.argoproj.io/hook-delete-policy: HookSucceeded
spec:
template:
spec:
containers:
- name: migrate
image: app:latest
command: ["/migrate"]
restartPolicy: Never
Multi-Cluster-Management¶
ArgoCD kann Dutzende von Clustern von einer einzigen Instanz aus verwalten.
# Cluster hinzufügen
argocd cluster add prod-eu-west-1 --name prod-eu
# Deklaratives Secret
apiVersion: v1
kind: Secret
metadata:
name: prod-cluster
namespace: argocd
labels:
argocd.argoproj.io/secret-type: cluster
stringData:
name: prod-eu
server: https://prod-eu.example.com
config: |
{"bearerToken": "...", "tlsClientConfig": {"insecure": false}}
Zusammenfassung¶
Erweiterte ArgoCD-Funktionen wie ApplicationSets und Sync Waves ermöglichen die Skalierung von GitOps auf Enterprise-Niveau.
Brauchen Sie Hilfe bei der Implementierung?¶
Unser Team hat Erfahrung mit dem Entwurf und der Implementierung moderner Architekturen. Wir helfen Ihnen gerne.