So aktualisieren Sie von DigitalOcean verwaltete Kubernetes-Cluster

0
168

Der Managed Kubernetes Service (DOKS) von DigitalOcean macht es schnell und Einfache Bereitstellung produktionsbereiter Cluster in der Cloud Wenn Sie einen Cluster erstellen, können Sie aus den drei neuesten Kubernetes-Nebenversionen auswählen. So gehen Sie mit Updates um, damit Sie bei neuen Funktionen und Sicherheitspatches nicht im Stich gelassen werden.

Arten von Updates

< p>Beim Betrieb Ihres Clusters werden Sie auf zwei verschiedene Arten von Kubernetes-Updates stoßen:

  • Patch-Releases– Diese erhöhen die Patch-Nummer im semantischen Versionierungsschema, z. B. 1.20.1 auf 1.20.2. Patch-Updates sollten immer sicher zu aktualisieren sein, ohne veraltete oder bahnbrechende Änderungen.
  • Nebenversionen – Eine Nebenversion beinhaltet eine Funktionserweiterung, z. B. 1.20 auf 1.21. Diese Änderungen sollten weiterhin abwärtskompatibel sein, damit Sie nicht auf unmittelbare Probleme stoßen. Einige Funktionen könnten in einer Nebenversion veraltet sein und in einer zukünftigen Hauptversion (1.x bis 2.x) entfernt werden.

Sowohl für Patch- als auch für Nebenversionen bietet DigitalOcean einen automatischen Upgrade-Service, der in Ihrem Namen Maßnahmen ergreift. Updates werden während eines voreingestellten Wartungsfensters installiert. Kleinere Updates werden nicht angewendet, es sei denn, Sie aktivieren zuerst manuell eine Option auf Clusterebene.

DigitalOcean kann im Falle eines dringenden Sicherheitsproblems manchmal ein Update erzwingen. Dies kann auch dann passieren, wenn Sie automatische Updates deaktiviert haben. Darüber hinaus wird Ihr Cluster eventuell aktualisiert, wenn Sie so lange auf der ältesten unterstützten Kubernetes-Version bleiben, dass DigitalOcean diese vollständig einstellt.

Upgrades sind ein zweistufiger Prozess. Zuerst wird die Kubernetes-Steuerungsebene aktualisiert, während der Ihre Workloads verfügbar bleiben. Ihre Worker-Knoten werden dann auf das neue Release gepatcht. Dies kann je nach Größe Ihres Clusters und seiner Workloads zu Ausfallzeiten führen.

Festlegen Ihres Update-Zeitplans

Der Zeitplan für die automatische Aktualisierung Ihres Clusters wird im DigitalOcean-Bedienfeld festgelegt. Melden Sie sich bei Ihrem Konto an und klicken Sie auf der Startseite auf Ihren Cluster. Sie können auch auf “Kubernetes” in der linken Seitenleiste und wählen Sie dort Ihren Cluster aus.

 

Werbung

Wenn Sie sich auf Ihrer Clusterseite befinden, klicken Sie auf die Schaltfläche “Einstellungen” Registerkarte oben. Klicken Sie auf die Schaltfläche “Bearbeiten” neben dem “Upgrade-Fenster” Kategorie. Verwenden Sie die beiden Dropdown-Listen, um einen Tag und eine Uhrzeit auszuwählen. Klicken Sie auf “Speichern” um Ihre Auswahl zu bestätigen. DigitalOcean plant die Installation automatischer Upgrades während eines Zeitraums von vier Stunden ab der eingestellten Zeit.

/

Wenn Sie möchten, dass auch Kubernetes-Nebenversionen automatisch angewendet werden, klicken Sie auf die Schaltfläche “Bearbeiten” neben “Nebenversions-Patches automatisch aktualisieren” Wenn das Kontrollkästchen aktiviert ist, wechselt Ihr Cluster ohne manuelle Eingriffe zu neuen Nebenversionen. Sie sollten diese Entscheidung anhand der Mindeststabilität abwägen, die Sie für Ihre Workloads benötigen.

Manuelles Aktualisieren

Sie können Ihren Cluster jederzeit manuell über die Cloud-Steuerung aktualisieren upgrade Tafel. Dies ist erforderlich, wenn Sie ein Nebenversions-Upgrade durchführen und die automatische Option nicht aktiviert ist. Ein manuelles Upgrade ist auch nützlich, wenn Sie einen Patch vor Ihrem üblichen Zeitplan installieren möchten.

Navigieren Sie in der Systemsteuerung zu Ihrem Cluster. Scrollen Sie in der “Übersicht” und klicken Sie auf das blaue “Verfügbare Upgrade anzeigen” Taste. Wenn diese Schaltfläche nicht angezeigt wird, ist Ihr Cluster bereits aktualisiert und es sind keine weiteren Patches verfügbar.

Wenn Sie auf eine neue Nebenversion aktualisieren, wird DigitalOcean die Ressourcen Ihres Clusters blockieren, um mögliche Kompatibilitätsprobleme zu erkennen. Diese Überprüfung kann einige Augenblicke dauern. Die Ergebnisse werden im Popup-Fenster angezeigt.

Werbung

Alle Linting-Probleme sollten behoben werden, bevor Sie mit der Aktualisierung fortfahren. Obwohl kleinere Kubernetes-Updates keine ernsthaften Abwärtskompatibilitätsprobleme darstellen sollten, beinhalten Upgrades auch Änderungen an der zugrunde liegenden DOKS-Plattform. DigitalOcean passt die DOKS-Konfiguration manchmal so an, dass Upgrade-Blöcke für ältere Versionen eingeführt werden könnten.

Wenn die Flusen fehlschlagen, sollten Sie die Dokumentation von DigitalOcean lesen, da die Auflösungsschritte von Cluster zu Cluster unterschiedlich sind. Die Linting-Referenz von DigitalOcean enthält eine Schritt-für-Schritt-Anleitung zur “Behebung” Anleitungen für die häufigsten Probleme. Wenn Sie fertig sind, klicken Sie auf “Prüfung erneut ausführen” um zu bestätigen, dass Ihre Korrekturen wirksam sind.

Sobald die Flusen vorbei sind, klicken Sie auf das blaue “Upgrade Now” Schaltfläche, um das Update zu starten. Dies kann je nach Größe Ihres Clusters einige Minuten dauern. Der Fortschritt wird in der Benutzeroberfläche der Systemsteuerung angezeigt. Die Steuerungsebene wird zuerst aktualisiert, gefolgt von jedem Worker-Knoten in Ihrem Cluster.

Aktualisieren über die CLI

Sie können Aktualisierungen innerhalb von . automatisieren Ihre eigene Infrastruktur mithilfe der CLI von DigitalOcean, Doctl. Stellen Sie sicher, dass Doctl installiert und mit Ihrem Konto verbunden ist.

Erfassen Sie zuerst die Details Ihres Clusters:

doctl kubernetes-Clusterliste

Dieser Befehl zeigt alle Ihre Cluster an. Notieren Sie sich die ID des Clusters, das Sie aktualisieren möchten.

Suchen Sie als Nächstes die Kubernetes-Versionen, auf die Ihr Cluster migrieren kann:

doctl kubernetes cluster get-upgrades <ID> Werbung


Ersetzen Sie <ID> mit der Cluster-ID, die Sie zuvor notiert haben. Wenn Sie nun wissen, welche Versionen Sie verwenden können, führen Sie den Upgrade-Befehl aus, um den Patch zu starten:

doctl kubernetes cluster upgrade <ID> –version 1.20.8

Wenn Sie direkt zur neuesten Version wechseln möchten, können Sie das Flag –version weglassen.

Der Upgrade-Vorgang kann mehrere Minuten dauern, genau wie eine Installation über die Web-Benutzeroberfläche initiiert.

Surge-Upgrades

Aktualisieren eines Clusters mit einem einzelnen Knoten, der Ausfallzeiten verursacht. Knoten werden während des Aktualisierungsprozesses durch neue Instanzen ersetzt, sodass Ihre Workloads zeitweise offline gingen. Wenn Ihr Cluster über mehrere Knoten verfügt, verschiebt der Kubernetes-Planer Pods von jedem Upgrade-Knoten, um die Verfügbarkeit aufrechtzuerhalten. Es kann dennoch zu Ausfallzeiten kommen, wenn die Kapazität Ihres Clusters nicht alle Ihre Workloads unterstützen kann, wenn ein “Knoten ausgefallen ist.”

Surge-Upgrades sind eine optionale Funktion, mit der Sie die Verfügbarkeit während der Updates selbst auf Single-Node-Clustern garantieren können. Wenn Surge-Upgrades aktiv sind, richtet DigitalOcean vor der Patch-Installation zusätzliche Worker-Knoten ein. Pods werden auf die temporäre “Surge” Knoten, während das Cluster-Upgrade abgeschlossen ist.

Maximal Ihrem Konto werden 10 Surge-Knoten hinzugefügt. Diese werden zum regulären Tropfentarif abgerechnet. Bei den meisten Clustern sollten die Kostenauswirkungen vernachlässigbar sein, da die zusätzlichen Tröpfchen nur für die Dauer des Updates leben.

Werbung

Sie können Surge-Upgrades auf der Einstellungsseite Ihres Clusters aktivieren. Sobald sie aktiviert sind, werden sie für alle zukünftigen Updates verwendet, sowohl automatisch als auch manuell. Die Option Surge Upgrades wird auch in der Bestätigungsaufforderung angezeigt, wenn Sie ein manuelles Update starten.

Schlussfolgerung

Sie haben mehrere Optionen zum Aktualisieren von DigitalOcean Kubernetes-Clustern. Normalerweise ist es am besten, Patch-Updates automatisch anwenden zu lassen, während kleinere Releases automatisiert oder manuell über das Cloud Control Panel oder Doctl installiert werden können.

Updates sollten keine Ausfallzeiten für Ihre Benutzer vorausgesetzt, Sie haben Surge-Upgrades aktiviert. DigitalOcean erstellt automatisch neue Worker-Knoten, um die Serviceverfügbarkeit aufrechtzuerhalten, während die Hauptknoten aktualisiert werden. Wenn Sie keine Surge-Upgrades verwenden, kann es zu Ausfallzeiten kommen, wenn Sie einen Single-Node-Cluster verwenden, oder Sie haben nicht genügend Kapazität, da jeder Knoten für die Aktualisierung ausfällt.