Seite wählen

Argo CD

GitOps Continuous Delivery für Kubernetes

Argo CD ist ein Open-Source-Tool für das Continuous Deployment von Anwendungen in Kubernetes-Clustern.

Argo CD

GitOps für Kubernetes

Argo CD ist ein Open-Source-Tool für das Continuous Deployment (CD) von Anwendungen in Kubernetes-Clustern. Es wurde entwickelt, um die Automatisierung und Verwaltung von Anwendungsbereitstellungen in Kubernetes zu erleichtern und den Bereitstellungsprozess zu optimieren.

Mit Argo CD kannst Du und dein DevOps-Teams deine Anwendungen deklarativ über Git-Repositories konfigurieren. Das bedeutet, dass die gesamte Infrastruktur einschließlich der Anwendungen und ihrer Abhängigkeiten in YAML-Konfigurationsdateien beschrieben wird. Diese Dateien werden in einem Git-Repository gespeichert und von Argo CD überwacht.

Argo CD überprüft kontinuierlich das Git-Repository auf Konfigurationsänderungen und synchronisiert automatisch den Zustand der Anwendungen im Kubernetes-Cluster, um sie mit dem gewünschten Zustand im Git-Repository abzugleichen. Dadurch wird der Zustand der Anwendungen in der Kubernetes-Umgebung deklarativ gesteuert und automatisch auf den gewünschten Stand gebracht.

Features

Deklaratives Management deiner Umgebung

Argo CD folgt den Prinzipien von GitOps, was bedeutet, dass die gesamte Systemkonfiguration in Git-Repositories gespeichert und versioniert wird. Dies fördert die Transparenz, die Rückverfolgbarkeit und ein konsistentes Rollback-Management bei Bedarf.

Das Tool bietet auch die Möglichkeit, mehrere Umgebungen zu verwalten, einschließlich Entwicklung, Staging und Produktion, und ermöglicht Dir, nahtlos zwischen diesen Umgebungen zu wechseln.

Continuous Deployment

Argo CD ermöglicht die kontinuierliche Bereitstellung von Anwendungen in Kubernetes. Es überwacht Git-Repositories auf Konfigurationsänderungen und aktualisiert automatisch die laufenden Anwendungen im Cluster, um den Status mit dem gewünschten Status im Repository abzugleichen.

Deklarative Konfiguration

Argo CD verwendet deklarative YAML-Konfigurationsdateien, um Anwendungen und ihre Abhängigkeiten zu beschreiben. Dies unterstützt die Versionskontrolle und vereinfacht das Rollback-Management.

GitOps-Prinzipien

Argo CD ist ein Vorreiter der GitOps-Bewegung, bei der die gesamte Anwendungsinfrastruktur und ihre Zustände in Git-Repositories gespeichert werden. Dies gewährleistet einen klaren und reproduzierbaren Prozess für die Bereitstellung und Verwaltung von Anwendungen.

Automatische Synchronisation

Argo CD stellt sicher, dass der Zustand der Anwendungen im Kubernetes-Cluster mit dem gewünschten Zustand im Git-Repository übereinstimmt. Im Falle von Konfigurationsänderungen oder Fehlern führt es automatische Synchronisierungen durch, um den gewünschten Zustand wiederherzustellen.

Möglichkeit zum Rollback

Mit Argo CD können Entwickler leicht zu früheren Versionen der Anwendung zurückkehren. Dies ermöglicht ein einfaches Rollback, falls ein Update fehlschlägt oder unerwartete Probleme auftreten.

Unterstützung mehrerer Umgebungen

Argo CD ermöglicht die einfache Verwaltung mehrerer Umgebungen (z.B. Entwicklung, Staging, Produktion) mit unterschiedlichen Konfigurationen und Berechtigungen. Dadurch können Entwickler nahtlos zwischen den Umgebungen wechseln und die Anwendungsbereitstellung in verschiedenen Phasen testen.

Architektur

Die Komponenten von Argo CD

Die Architektur von Argo CD basiert auf dem Kubernetes-Prinzip, dass alles eine Ressource ist. Dies bedeutet, dass Anwendungen in Kubernetes als benutzerdefinierte Ressourcen definiert und von speziellen Controllern verwaltet werden, die von Argo CD bereitgestellt werden.

Diese Architektur ermöglicht eine effiziente und zuverlässige Bereitstellung von Anwendungen in Kubernetes-Clustern und unterstützt die GitOps-Prinzipien, die eine deklarative und versionierte Konfiguration der Infrastruktur unterstützen.

API-Server

Der API-Server ist ein gRPC/REST-Server, der die von der Weboberfläche, der CLI und den CI/CD-Systemen verwendeten APIs zur Verfügung stellt.

  • Anwendungsmanagement und Statusberichte
  • Aufrufen von Anwendungsvorgängen
  • Repository- und Cluster-Anmeldeinformationsverwaltung
  • Authentifizierung und Authentifizierungsdelegation an externe Identitätsanbieter
  • Listener/Weiterleitung für Git-Webhook-Ereignisse

Repository-Server

Der Repository-Server ist ein interner Dienst, der einen lokalen Cache des Git-Repositorys mit den Anwendungsmanifesten verwaltet. Er ist verantwortlich für die Generierung und Rückgabe der Kubernetes Manifeste, wenn die folgenden Eingaben gemacht werden:

  • Repository-URL
  • Revision (Commit, Tag, Branch)
  • Anwendungspfad
  • Template spezifische Einstellungen: Parameter, Helm values.yaml

Anwendungs-Controller

Der Application Controller ist ein Kubernetes Controller, der laufende Anwendungen kontinuierlich überwacht und den aktuellen Live-Status mit dem gewünschten Ziel-Status (wie im Repo spezifiziert) vergleicht. Er erkennt den OutOfSync-Status der Anwendung und leitet optional Korrekturmaßnahmen ein. Er ist verantwortlich für den Aufruf aller benutzerdefinierten Hooks für Lebenszyklusereignisse (PreSync, Sync, PostSync).

Beratung

Argo CD Consulting

Wir helfen Dir bei Konzeption, Installation und Integration Deiner Umgebung – für mehr Power, Know-How, Peace of Mind!

Power

Jahrelange Erfahrung

Seit vielen Jahren unterstützen wir unsere Kunden beim Betrieb ihrer IT-Infrastrukturen. Branchen, Tools, Betriebssysteme – wir haben alles Mögliche gesehen, betrieben und gebaut. Wir kennen die Best Practices mit Argo CD, Kubernetes, Rancher, Prometheus & Co. und viele Themen rund um Open Source und Linux.

Know-How

Volles Verständnis

Wir verstehen nicht nur Deine IT-Systeme und Services, sondern das große Ganze und die unzähligen Aspekte des Betriebs komplexer IT-Infrastrukturen. Häufig mangelt es an Zeit und Personal bei steigender Komplexität und einer sich schnell verändernden IT-Welt.

Peace of Mind

Gezielte Verstärkung

Als Linux-Generalisten und Open Source Expertinnen sind wir breit aufgestellt und bestens eingebunden in die Open Source Communities. Mit uns bist Du nie allein! Ob als IT-Berater, Engineer, Support oder Architekt – wir verstärken Dein Team und nehmen Dir Arbeit ab.

Alles aus einer Hand

Das Ganzheitliche Portfolio von NETWAYS

Du benötigst Unterstützung bei Planung, Einführung und Betrieb von Argo CD. NETWAYS unterstützt Dich bei allen Fragen rund um Consulting, Outsourcing und natürlich Training.

IT Outsourcing

Als externe IT-Abteilung übernehmen wir den vollständigen Betrieb ganzer Umgebungen. Wir kümmern uns um alle dafür notwendigen Systeme aus der Open Source Welt und arbeiten bei Dir mit.

Support

Bei uns bekommst Du schnelle Hilfe von Deinem persönlichen Systems Engineer. Ganz egal, ob per Telefon, Chat, E-Mail oder Ticket: Wir sind immer für Dich da! Argo CD tut nicht, was es soll? Melde Dich bei uns!

Schulungen

Unser weitreichendes und profundes Praxiswissen geben wir in unseren Schulungen und Workshops gerne an Dich weiter. Selbstverständlich als Präsenz- und natürlich auch Online Training.

Aktuelles

Artikel aus unserem Blog

Webinare

Unsere Webinararchiv

Nimm einfach Kontakt mit uns auf. Wir freuen uns auf Dich!