PCG logo
Artikel

Automatisierung von Kubernetes Deployments mit ArgoCD-Image-Updater

Bei der Public Cloud Group (PCG) verbessern wir kontinuierlich den cloud-nativen Betrieb, um das Kubernetes-Management für unsere Kunden zu vereinfachen. Ein leistungsstarkes Werkzeug, das wir implementiert haben, ist der ArgoCD-Image-Updater, der Container-Image-Updates in ArgoCD-verwalteten Kubernetes-Workloads automatisiert – ohne dass manuelle Eingriffe erforderlich sind.

Kurze Einführung

ArgoCD-Image-Updater (AIU) ist eine Erweiterung von ArgoCD, die Image-Updates für Kubernetes-Workloads automatisiert.

ArgoCD selbst ist ein GitOps basiertes Continuous Delivery Tool, das in einem Git Repository gespeicherte Workload-Definitionen - wie Helm-Charts - mit einem Kubernetes Cluster synchronisiert. Es verwendet benutzerdefinierte Ressourcen, die ArgoCD Anwendungen genannt werden, um Workloads basierend auf den Helm-Chart Definitionen zu rendern und bereitzustellen.

AIU verbessert diesen Prozess, indem es automatisch neue Container-Images erkennt und ArgoCD anweist, die entsprechenden ArgoCD Anwendungen zu aktualisieren. Zusätzlich unterstützt der AIU Git-Write-Back Funktionalitäten, die die Konsistenz mit GitOps Best Practices sicherstellen. Wenn ein Image-Update stattfindet, kann der AIU den neuen Image-Tag in eine spezielle ArgoCD-spezifische Datei am Definitionsort des Workloads selbst zurückschreiben (dort, wo das Helm-Chart definiert ist). ArgoCD verwendet dann diese Datei, um Parameter beim Rendern von Workloads zu überschreiben und die Versionskontrolle und Synchronisation zwischen dem Repository und dem Cluster aufrechtzuerhalten.

Wie der ArgoCD-Image-Updater funktioniert

Der AIU überwacht kontinuierlich Container-Registries auf neue Image-Versionen und aktualisiert dynamisch ArgoCD-Anwendungen. Anstatt manuell Helm-Values oder Kustomize-Overlays zu ändern, passt er automatisch die ArgoCD Anwendungsparameter für nahtlose Deployments an.

Durch das Annotieren von ArgoCD-Anwendungen für Updates und mit spezifischen Update-Strategien können Benutzer verschiedene Update-Methoden pro Anwendung definieren:

  • SemVer – Update auf die höchste erlaubte Version innerhalb definierter Einschränkungen.
  • Newest-Build – Update auf das zuletzt erstellte Image. (In der Dokumentation heißt es Tag, aber in Wirklichkeit wird das Erstellungsdatum des Images betrachtet.)
  • Alphabetical – Update auf den letzten Tag in einer alphabetisch sortierten Liste.
  • Digest – Update auf die zuletzt gepushte Version eines mutable Tags.

Zusätzlich existiert eine Annotation, die eine Regex-Filterung unterstützt, um unerwünschte Image-Tags auszuschließen. Dies gibt mehr Kontrolle darüber, welche Image-Tags für Updates berücksichtigt werden und hilft unbeabsichtigte Deployments zu verhindern.

Je nach ArgoCD-Sync-Policy können Updates sofort bereitgestellt oder als „Out-of-Sync“ markiert werden, um manuell geupdated zu werden.

Wichtigste Vorteile

Die Implementierung des AIUs hat unsere Abläufe erheblich vereinfacht:

  • Reduzierter manueller Aufwand – Automatische Updates beseitigen die Notwendigkeit, Deployment-Manifeste manuell zu ändern, das spart Zeit und verringert Fehler.
  • Schnellere Sicherheitsupdates – Kritische Sicherheitspatches können mithilfe von SemVer Update-Strategien identifiziert werden, sodass Patch-Version-Updates schneller bereitgestellt werden können und Schwachstellen minimiert werden.
  • Konsistenz und Compliance – Die Integration mit Git ermöglicht es, Änderungen an Image-Tags zurückzuschreiben, wodurch die Versionskontrolle aufrechterhalten und die Einhaltung von GitOps-Praktiken sichergestellt wird.

Erfahrungen und Erkenntnisse

Aus unserer Erfahrung ist der AIU am effektivsten, wenn:

  • Klare Update-Strategien definiert sind – Durch explizite Update-Richtlinien/Annotations pro Anwendung werden vorhersehbare und kontrollierte Deployments gewährleistet.
  • Überwachung nach der initialen Einrichtung – Dies hilft, Probleme frühzeitig zu identifizieren und Fehlkonfigurationen während der Ersteinrichtung zu beheben.
  • Teams richtig geschult sind – Ein gut informiertes und geschultes Team kann die Automatisierungsfunktionen von ArgoCD und des AIU voll ausnutzen. Dies reduziert das Risiko von Fehlern und Ausfallzeiten und führt zu einem direkten monetären Nutzen für jedes Unternehmen.

Unsere Herausforderungen und Lösungen

Trotz all der Vorteile stießen wir auf einige Herausforderungen:

  • Möglicherweise komplexe Ersteinrichtung
    • Die Konfiguration des Tools kann herausfordernd sein, insbesondere bei der Integration mit ECR, da ein Authentifizierungsskript, die richtigen Service-Account-Berechtigungen und die korrekten Annotationen erforderlich sind, um zu funktionieren.
    • Außerdem erfordert die korrekte Einrichtung von Image-Update-Strategien pro Anwendung mit den richtigen Annotationen einige Tests und das gründliche Durchlesen der Dokumentation.
    • Es wird empfohlen, den AIU im gleichen Namespace wie ArgoCD einzusetzen, so dass er standardmäßig dessen Anmeldeinformationen erbt. Achten Sie darauf, dass diese Zugangsdaten die notwendigen Lese- und Schreibrechte für die Git-Repositories haben, damit das Git-Write-Back funktioniert.
  • Begrenzte Unterstützung für bestimmte Deployment-Methoden – Der AIU unterstützt in erster Linie Helm- und Kustomize-basierte Anwendungen. Anwendungen, die andere Deployment-Methoden verwenden, werden nicht unterstützt.
  • Irreführende Dokumentation für Newest-Build – Laut Dokumentation wird der zuletzt erstellte Tag betrachtet, tatsächlich zählt aber das Build-Datum des Images.

Durch sorgfältige Planung und einen schrittweisen Implementierungsansatz haben wir diese Herausforderungen erfolgreich überwunden und die Vorteile der Automatisierung maximiert.

Einschränkungen

Obwohl das Tool erhebliche Vorteile bietet, gibt es einige Einschränkungen, die berücksichtigt werden müssen:

  • Es können nur Workloads aktualisiert werden, die von ArgoCD verwaltet werden.
  • Es erfordert, dass Anwendungen mit Helm oder Kustomize templated sind.
  • Image-Pull-Secrets müssen innerhalb des gleichen Clusters zugänglich sein.

Alternativen und Unterschiede

Ein weiteres zu berücksichtigendes Tool ist:

  • Flux – Ein GitOps-Tool, das die Synchronisierung von Kubernetes-Manifesten automatisiert. Im Gegensatz zum AIU integriert Flux Image-Updates als Kernfunktion und nicht als Add-on.

Die Wahl des richtigen Tools hängt von den spezifischen Anforderungen und der bestehenden Infrastruktur ab. Der ArgoCD-Image-Updater ist ideal für Organisationen, die bereits ArgoCD nutzen und nach einer nahtlosen Automatisierung von Image-Updates suchen.

Fazit

Der ArgoCD-Image-Updater ist eine leistungsstarke Lösung zur Automatisierung von Container-Image-Updates in Kubernetes-Umgebungen. Durch die Reduzierung manueller Eingriffe, die Beschleunigung von Sicherheitsupdates und die Wahrung der Compliance verbessert er die betriebliche Effizienz erheblich. Obwohl Herausforderungen bestehen, können diese mit der richtigen Planung, Recherche, Tests und Schulung effektiv gemeistert werden.



Genutzte Services

Weiterlesen

Artikel
DevOps
Wie Sie mit AWS DevOps-Tools beginnen können

Ihr umfassender Leitfaden für den Einstieg in AWS DevOps-Tools! Wir vergleichen sofort einsatzbereite Lösungen und Eigenbau und geben Einblicke in Pipeline-Optimierung für mehr Effizienz und Kontrolle.

Mehr erfahren
Artikel
Bildungswesen
So steigern Sie Ihr Cloud Learning mit AWS-Credits

Ein aufschlussreicher Leitfaden darüber, wie Universitätsstudent:innen AWS-Credits nutzen können, um Cloud Computing zu erkunden, KI-Modelle zu erstellen, Websites zu hosten, Big Data zu analysieren und Cybersicherheit zu testen – und so praktische Fähigkeiten zu erwerben, um ihre Lern- und Karriereaussichten zu verbessern.

Mehr erfahren
Pressemeldung
Stärkung einer bewährten Partnerschaft: PCG erneuert Strategic Collaboration Agreement (SCA) mit AWS

Public Cloud Group (PCG) setzt ihre langjährige Zusammenarbeit mit AWS fort und erneuert sowie erweitert das Strategic Collaboration Agreement (SCA), das sie vor zwei Jahren mit AWS unterzeichnet hat.

Mehr erfahren
Fallstudie
Finanzdienste
Karriere-Architekten: Zeitsprung Media baut die Zukunft der Fachkräftegewinnung

Zeitsprung Media GmbH, ein Spezialist für Fachkräftegewinnung in der Steuer- und Rechtsbranche, suchte Unterstützung bei der Entwicklung ihrer innovativen b2b2c Karriereplattform.

Mehr erfahren
Alles sehen

Gemeinsam durchstarten

United Kingdom
Arrow Down