Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Argo CD
Argo CD ist ein weit verbreitetes GitOps Continuous Delivery (CD) -Tool für Kubernetes, das mehreren wichtigen Prinzipien entspricht. GitOps
GitOps Unterstützung
| Flächen | Funktionen des Tools |
|---|---|
Deklarative Konfiguration |
Argo CD verwendet deklarative Konfigurationen, die in Git-Repositorys gespeichert sind. Der gewünschte Status der Anwendung und Infrastruktur ist in YAML-Dateien definiert. Diese Konfigurationen beschreiben, was bereitgestellt werden sollte, nicht, wie sie bereitgestellt werden sollen. |
Versionskontrollsystem als zentrale Informationsquelle |
Git-Repositorien dienen als zentrale Informationsquelle für das gesamte System. Alle Änderungen an der Anwendung und Infrastruktur werden über Git vorgenommen. Dies gewährleistet einen vollständigen Prüfpfad und die Möglichkeit, zu einem beliebigen vorherigen Status zurückzukehren. |
Automatisierte Synchronisation |
Argo CD überwacht das Git-Repository kontinuierlich auf Änderungen. Wenn Änderungen erkannt werden, synchronisiert es automatisch den aktuellen Status des Clusters mit dem gewünschten Status, der in Git definiert ist. Dadurch wird sichergestellt, dass der Cluster immer den Status widerspiegelt, der im Repository beschrieben ist. |
Kubernetes-nativ |
Argo CD wurde speziell für Kubernetes-Umgebungen entwickelt. Es nutzt den deklarativen Charakter und die benutzerdefinierten Ressourcen in Kubernetes für die Verwaltung von Anwendungen. |
Selbstheilung und Drift-Erkennung |
Argo CD vergleicht regelmäßig den Live-Status des Clusters mit dem gewünschten Status in Git. Wenn es Abweichungen (Unterschiede zwischen dem tatsächlichen und dem gewünschten Zustand) feststellt, kann es diese Abweichungen automatisch korrigieren. |
Unterstützung für mehrere Cluster und mehrere Mandanten |
Argo CD kann mehrere Kubernetes-Cluster von einer einzigen Instanz aus verwalten. Es unterstützt Mehrmandantenfähigkeit, sodass verschiedene Teams ihre Anwendungen unabhängig voneinander verwalten können. |
Definition der Anwendung |
Anwendungen in Argo CD werden mithilfe der Anwendungs-CRD (benutzerdefinierte Ressourcendefinition) definiert. Dies ermöglicht eine Kubernetes-native Methode, um zu definieren, was und wie bereitgestellt werden soll. |
Trennung von Bereitstellung und Veröffentlichung |
Argo CD trennt die Bereitstellung von Code von seiner Veröffentlichung für Benutzer. Dies wird durch verschiedene Bereitstellungsstrategien erreicht, z. B. blue/green durch kanarische Bereitstellungen. |
Beobachtbarkeit und Überprüfbarkeit |
Argo CD bietet eine Web-Benutzeroberfläche und CLI zur Beobachtung des Status von Anwendungen und Clustern. Alle Aktionen werden protokolliert, um einen klaren Prüfpfad für Änderungen und Implementierungen zu gewährleisten. |
Sicherheit und RBAC |
Argo CD ist in die rollenbasierte Zugriffskontrolle (RBAC) von Kubernetes integriert. Es unterstützt die Single-Sign-On-Integration für Authentifizierung und Autorisierung. |
Steckbare Architektur |
Argo CD unterstützt verschiedene Quellcodeverwaltungssysteme, Helm-Charts, Kustomize und andere Kubernetes-Manifestformate. Diese Flexibilität ermöglicht es, sich in verschiedene Umgebungen und Workflows einzufügen. |
Kontinuierliche Bereitstellung (CD) |
Obwohl sich Argo CD auf Continuous Delivery konzentriert, kann es in CI-Tools (Continuous Integration) integriert werden, um eine vollständige CI/CD Pipeline zu erstellen. |
Durch die Einhaltung dieser GitOps Prinzipien bietet Argo CD eine robuste, skalierbare und sichere Methode zur Verwaltung von Kubernetes-Bereitstellungen. Es stellt sicher, dass der Betriebsstatus Ihres Systems immer mit dem gewünschten Status synchronisiert ist, der in Ihrem Git-Repository definiert ist, und sorgt für Konsistenz, Zuverlässigkeit und einfache Verwaltung in komplexen Kubernetes-Umgebungen.
Szenarien und Anforderungen, die Argo CD erfüllen kann, finden Sie weiter unten in diesem Handbuch unter Anwendungsfälle für Argo CD. Einen Vergleich zwischen Argo CD und Flux finden Sie weiter unten in diesem Handbuch unter Funktionsvergleich.
Weitere Informationen finden Sie in der Argo-CD-Dokumentation
Architektur
Das folgende Diagramm veranschaulicht einen CD-Workflow, GitOps der Argo CD innerhalb eines EKS-Clusters verwendet. Ausführliche Informationen finden Sie in der Argo-CD-Dokumentation
Wobei:
-
Schritt 1: Zusammenführung von Pull-Requests (PR). Ein Entwickler überträgt Änderungen an Kubernetes-Manifesten oder Helm-Diagrammen, die in einem Git-Repository gespeichert sind. Wenn der PR überprüft und mit dem Hauptzweig zusammengeführt wurde, wird der gewünschte Status der Anwendung in der Quellcodeverwaltung aktualisiert.
-
Schritt 2: Repository-Synchronisierung. Argo CD läuft in einem dedizierten Namespace (
argocd) im EKS-Cluster und überwacht kontinuierlich das konfigurierte Git-Repository. Wenn es Änderungen erkennt, ruft es die neuesten Updates ab, um den deklarierten Status abzugleichen. -
Schritt 3: Bereitstellung im Ziel-Namespace. Argo CD vergleicht den gewünschten Status von Git mit dem Live-Status im Cluster. Anschließend werden die erforderlichen Änderungen auf den Ziel-Workload-Namespace angewendet, sodass die Anwendung entsprechend bereitgestellt oder aktualisiert wird. Dazu gehört die Verwaltung von Kubernetes-Ressourcen wie Deployments, Services und Secrets ConfigMaps, um die Cluster-Konsistenz mit der Git Source of Truth aufrechtzuerhalten.