- Home
- /
- Blog
- /
- Glossar
- /
- Tools & Methoden
- /
- Argo CD
Was ist Argo CD?
Argo CD ist eine Kombination aus den beiden Begriffen „Argo“ und „CD“. Dabei stellt „Argo Project“ Open Source Tools für Kubernetes bereit und ist ein CNCF Projekt. Das Argo Projekt umfasst neben Argo CD auch Argo Rollouts, Argo Events und Argo Workflows. Durch die Container-native Workflow Engine wird die Ausführung komplexer Workflows und Anwendungen auf Kubernetes von der Spezifizierung über die Planung bis zur Koordinierung ermöglicht.
Das „CD“ im Namen bezieht sich auf Continuous Delivery, eine Erweiterung von Continuous Integration (CI), da alle Codeänderungen nach der Build-Phase automatisch in einer Test- und/oder Produktionsumgebung bereitgestellt werden.
Wofür wird Argo CD eingesetzt?
Argo CD folgt dem GitOps-Konzept. GitOps ist eine CD-Methodik, die sich auf die Verwendung von Git als „Single Source of Truth“ für deklarative Infrastruktur und Anwendungscode konzentriert. Es überwacht ein entferntes Git-Repository auf neue oder aktualisierte Manifest-Dateien und synchronisiert diese Änderungen mit dem Cluster.
Wenn Sie Manifeste und Ressourcen in Git verwalten und mit dem Cluster synchronisieren, erhalten Sie alle Vorteile eines Git-basierten Workflows wie Versionskontrolle, Pull-Request-Überprüfungen und Transparenz bei der Zusammenarbeit. Tools wie Argo CD sorgen dafür, dass das System (in diesem Fall Kubernetes) und der definierte Sollzustand synchron bleiben, auch wenn dieser gewünschte Systemzustand in einem oder mehreren Git-Repositories verwaltet wird. Die Steuerung von Argo CD erfolgt auf einer übersichtlichen Web-Benutzeroberfläche, die es ermöglicht, den Status der Deployments in Echtzeit zu überprüfen. Darüber hinaus ist die Orchestrierung von Deployments über mehrere Cluster hinweg mit einer einzigen Instanz von ArgoCD möglich.
Unternehmen werden durch Argo CD befähigt cloud-native Anwendungen und Workflows auf Kubernetes mit GitOps deklarativ zu erstellen sowie auszuführen.
Typische Einsatzmöglichkeiten von Argo Workflows sind rechenintensive Jobs im Bereich der Datenverarbeitung und des maschinellen Lernens oder Pipelines für CI/CD (Continuous Integration / Continuous Delivery).
Argo CD wurde speziell entwickelt, um den kontinuierlichen Bereitstellungsprozess in einem Kubernetes-Cluster einfacher und effizienter zu gestalten. Es löst mehrere Herausforderungen, wie z. B. die Notwendigkeit, zusätzliche Tools außerhalb von Jenkins für einen vollständigen CI/CD-Prozess in Kubernetes einzurichten und zu installieren.
Individuelle Softwarelösungen
Je individueller desto spannender
für unser Experten-Team.
Was kann Argo CD?
ArgoCD stellt auf effiziente und einfache Weise deklarative und versionierte Anwendungsbereitstellungen mit der automatischen Überwachung und dem Abrufen von Manifeständerungen im Git-Repository zur Verfügung. Es hat aber auch ein einfaches Rollback und kehrt zum vorherigen Zustand zurück, ohne die Notwendigkeit jedes Update im Cluster manuell rückgängig zu machen.
Es bietet auch Automatisierung und Rückverfolgbarkeit über den GitOps-Workflow mit einer Web-Benutzeroberfläche zur Visualisierung von Kubernetes-Ressourcen.
In ArgoCD können Kubernetes-Manifeste auf unterschiedliche Weise definiert werden. Es unterstützt Kubernetes-YAML-Dateien, Helm-Charts, Kustomize und andere Vorlagendateien, die Cluster-Ressourcen generieren. Es unterstützt auch Git-Webhook-Benachrichtigungen von GitHub, GitLab, Bitbucket und Gogs.
ArgoCD verfügt außerdem über eine Schnittstellenanwendung für Befehlszeilen, ein Grafana-Metrik-Dashboard sowie Audit-Trails für Anwendungsereignisse und API-Aufrufe.
ArgoCD besitzt einen sehr einfachen Cluster-Disaster-Recovery-Prozess. Aufgrund seiner deklarativen Natur lässt sich automatisch derselbe Zustand im Cluster ohne Eingriff wiederherstellen, selbst wenn ein Cluster ausgefallen ist. Ein weiterer Vorteil ist ein automatisches Selfhealing. Wenn die Selfhealing-Funktion aktiviert ist, stellt ArgoCD jedes Mal automatisch den definierten Zustand vom Git-Repository her, wenn eine Zustandsabweichung erkannt wird.
Die Kubernetes-Cluster-Zugriffssteuerung mit Git und Argo CD ist einfach. Sie können konfigurieren, wer Merge-Anfragen übergeben und wer diese Merge-Anfragen tatsächlich genehmigen darf. Das ist eine saubere Möglichkeit, um den Cluster-Zugriff indirekt über Git zu verwalten. Es besteht auch keine Notwendigkeit, anderen Tools wie Jenkins externen Zugriff zu gewähren, wodurch die Cluster-Anmeldeinformationen sicher bleiben, da Argo CD bereits im Cluster ausgeführt wird und das einzige Tool ist, das tatsächlich Änderungen durchführt. Wer es selbst mal ausprobieren möchte, findet hier den Getting Started Guide von Argo CD.
Einsatz bei Wilde-IT
Argo CD hilft, Konfigurationsabweichungen zu vermeiden und die Rückverfolgbarkeit des Status aufrechtzuerhalten, indem es Git als einzige Quelle der Wahrheit für alle aktuellen und vergangenen Bereitstellungen verwendet.
Bei Wilde-IT unterstützt uns Argo CD bei einer agilen Softwareentwicklung, um sehr schnell und effizient für unsere Kundenprojekte Änderungen auf einem Testsystem bereitzustellen. Es hilft dabei, GitOps-Techniken für schnellere und sicherere Deployments anzuwenden. Das schöne User Interface sorgt für eine hervorragende Nachvollziebarkeit der aktiven Kubernetes-Ressourcen und -Vorgänge.