Elf Minuten, null Menschen: Eine selbstheilende Kubernetes Upgrade-Pipeline auf Kairos erstellen
Quelle: CNCF Blog
2 Minuten Lesezeit

Elf Minuten, null Menschen: Eine selbstheilende Kubernetes Upgrade-Pipeline auf Kairos erstellen

Eine neu entwickelte Upgrade-Pipeline für Kubernetes ermöglicht automatisierte und zuverlässige Updates ohne menschliches Eingreifen. Die Pipeline nutzt eine Kombination aus Tools und

TL;DR

Eine neu entwickelte Upgrade-Pipeline für Kubernetes ermöglicht automatisierte und zuverlässige Updates ohne menschliches Eingreifen. Die Pipeline nutzt eine Kombination aus Tools und Technologien, um eine sichere und effiziente Upgrade-Strategie zu implementieren, die die Systemverfügbarkeit während des Prozesses gewährleistet.

Hauptinhalt

Die moderne Kubernetes -Upgrade-Pipeline basiert auf einem Management-Cluster, das mit OpenTofu und K3s in einer Hochverfügbarkeitskonfiguration eingerichtet wurde. Der Cluster besteht aus drei Control-Plane-Nodes und verwendet Kairos Hadron, eine unveränderliche Linux-Distribution, die A/B-Partition-Upgrades unterstützt. Anstatt das bestehende Betriebssystem zu patchen, wird ein neues Image auf einer inaktiven Partition geschrieben, was einen einfachen Rollback ermöglicht. Dies verbessert die Sicherheit der Lieferkette und sorgt für eine konsistente Upgrade-Erfahrung.

Die Upgrade-Pipeline besteht aus sechs wesentlichen Komponenten, die jeweils eine spezifische Aufgabe erfüllen. Gitea dient als selbstgehostetes Git, in dem alle Manifeste und Upgrade-Spezifikationen gespeichert sind. Renovate überwacht die Quay-Registry auf neue Versionen und erstellt Pull-Requests zur Aktualisierung der Image-Tags. Kyverno fungiert als Admission-Gate und stellt sicher, dass nur korrekt signierte Images verwendet werden. Cosign überprüft die Signaturen der Images, um sicherzustellen, dass sie aus der richtigen CI-Pipeline stammen.

ArgoCD wird verwendet, um Änderungen im Repository zu erkennen und automatisch die neuen Manifeste anzuwenden, ohne dass manuelle kubectl-Befehle erforderlich sind. Der kairos-operator führt die eigentlichen Upgrades durch, indem er die Nodes nacheinander in den Wartungsmodus versetzt, das neue Image herunterlädt, das Upgrade durchführt und die Nodes anschließend neu startet.

Die erste vollständige Ausführung der Pipeline zeigte beeindruckende Ergebnisse. Die gesamte Upgrade-Dauer betrug nur 11 Minuten, ohne dass menschliches Eingreifen erforderlich war. Während des Prozesses blieb die etcd-Quorum-Integrität intakt, und es gab keine Unterbrechungen bei laufenden Workloads. Die Ausführung wurde durch eine einfache Änderung in der Upgrade-Spezifikation ausgelöst, die das Image-Tag und den Namen des Upgrade-Ressourcentyps betraf.

Technische Details/Implikationen

Die Implementierung der Pipeline verdeutlicht die Bedeutung einer durchdachten Architektur für Kubernetes -Umgebungen. Die Verwendung von A/B-Partition-Upgrades minimiert die Risiken, die mit dem Patchen von Systemen verbunden sind, und ermöglicht eine schnelle Rückkehr zu stabilen Versionen im Falle von Problemen. Darüber hinaus zeigt die Pipeline, wie durch den Einsatz von GitOps-Prinzipien und Automatisierungstools der menschliche Fehlerfaktor erheblich reduziert werden kann. Die Integration von Sicherheitsprüfungen und Validierungen in den Upgrade-Prozess ist entscheidend, um die Integrität der Systeme zu gewährleisten und potenzielle Angriffe zu verhindern.

Fazit/Ausblick

Die neu entwickelte Upgrade-Pipeline stellt einen bedeutenden Fortschritt in der Automatisierung von Kubernetes -Updates dar. Zukünftige Entwicklungen könnten weitere Optimierungen und Integrationen mit anderen Tools und Plattformen umfassen, um die Effizienz und Sicherheit weiter zu steigern.

Originalartikel

Veröffentlicht von CNCF Blog

Zum Original-Artikel

Automatisierte Zusammenfassung

Dieser Beitrag wurde automatisch aus dem englischsprachigen Original erstellt und auf Deutsch zusammengefasst. Wir bieten diesen Service an, um Sie bei der oft zerklüfteten und überwiegend englischsprachigen News-Situation im Bereich Cloud-Native Software, Souveräne Cloud, Kubernetes und Container-Technologien zeitnah auf Deutsch zu informieren.

Ähnliche Artikel

Kontakt aufnehmen