Share via


Upgrade eines Azure Operator Nexus Kubernetes-Clusters

Dieser Artikel enthält Anweisungen zum Upgrade eines Operator Nexus Kubernetes-Clusters, um die neuesten Features und Sicherheitsupdates zu erhalten. Ein Teil des Kubernetes-Clusterlebenszyklus umfasst regelmäßige Upgrades auf die neueste Kubernetes-Version. Es ist wichtig, jeweils die aktuellen Sicherheitsversionen anzuwenden oder bei einem Upgrade die neuesten Features zu erhalten. In diesem Artikel erfahren Sie, wie Sie nach Upgrades auf Ihren Kubernetes-Cluster suchen, konfigurieren und anwenden.

Begrenzungen

  • Der Clusterupgradeprozess ist ein Scaleout-Ansatz, was bedeutet, dass mindestens ein zusätzlicher Knoten hinzugefügt wird (oder so viele Knoten wie im maximalen Anstieg konfiguriert). Wenn nicht genügend Kapazität verfügbar ist, kann das Upgrade nicht erfolgreich ausgeführt werden.
  • Wenn neue Kubernetes-Versionen verfügbar werden, werden Mandantencluster nicht automatisch aktualisiert. Benutzer sollten das Upgrade initiieren, wenn alle Netzwerkfunktionen im Cluster bereit sind, die neue Kubernetes-Version zu unterstützen. Weitere Informationen finden Sie unter Upgrade des Clusters.
  • Operator Nexus bietet clusterweite Upgrades und sorgt für Konsistenz in allen Knotenpools. Das Upgrade eines einzelnen Knotenpools wird nicht unterstützt. Außerdem wird das Knotenimage als Teil des Clusterupgrades aktualisiert, wenn eine neue Version verfügbar ist.
  • Anpassungen an Agentknoten gehen während Clusterupgrades verloren. Es wird empfohlen, diese Anpassungen DaemonSet anstelle manueller Änderungen an der Knotenkonfiguration zu platzieren, um sie nach dem Upgrade beizubehalten.
  • Änderungen an kernen Addonkonfigurationen werden im Rahmen des Clusterupgradeprozesses in der Standard-Addon-Konfiguration wiederhergestellt. Vermeiden Sie das Anpassen der Addon-Konfiguration (z. B. Calico usw.), um potenzielle Upgradefehler zu verhindern. Wenn bei der Wiederherstellung der Add-On-Konfiguration Probleme auftreten, kann dies zu Upgradefehlern führen.
  • Wenn Sie den Operator Nexus Kubernetes-Cluster aktualisieren, können Kubernetes-Nebenversionen nicht übersprungen werden. Sie müssen alle Upgrades nacheinander nach der Hauptversionsnummer ausführen. Beispielsweise sind die Upgrades 1.14.x ->1.15.x oder 1.15.x ->1.16.x zulässig, das Upgrade 1.14.x ->1.16.x ist jedoch nicht möglich. Wenn Sich Ihre Version um mehr als eine Hauptversion befindet, sollten Sie mehrere sequenzielle Upgrades durchführen.
  • Die maximalen Stoßwerte müssen während der Clustererstellung festgelegt werden. Sie können die maximalen Aufstufungswerte nicht ändern, nachdem der Cluster erstellt wurde. Weitere Informationen finden Sie unter upgradeSettingsCreate an Azure Operator Nexus Kubernetes cluster.

Voraussetzungen

  • Ein Azure Operator Nexus Kubernetes-Cluster, der in einer Ressourcengruppe in Ihrem Azure-Abonnement bereitgestellt wird.
  • Wenn Sie Azure CLI verwenden, erfordert dieser Artikel, dass Sie die neueste Azure CLI-Version ausführen. Informationen zum Durchführen einer Installation oder eines Upgrades finden Sie bei Bedarf unter Installieren der Azure CLI.
  • Verstehen des Konzepts von Versionspaketen. Weitere Informationen finden Sie unter Nexus Kubernetes-Versionspakete.

Überprüfen auf verfügbare Upgrades

Überprüfen Sie, welche Kubernetes-Releases für Ihren Cluster verfügbar sind, indem Sie die folgenden Schritte ausführen:

Mithilfe der Azure-Befehlszeilenschnittstelle

Der folgende Azure CLI-Befehl gibt die verfügbaren Upgrades für Ihren Cluster zurück:

az networkcloud kubernetescluster show --name <NexusK8sClusterName> --resource-group <ResourceGroup> --output json --query availableUpgrades

Beispielausgabe:

[
  {
    "availabilityLifecycle": "GenerallyAvailable",
    "version": "v1.25.4-4"
  },
  {
    "availabilityLifecycle": "GenerallyAvailable",
    "version": "v1.25.6-1"
  },
  {
    "availabilityLifecycle": "GenerallyAvailable",
    "version": "v1.26.3-1"
  }
]

Verwenden des Azure-Portals

  1. Melden Sie sich beim Azure-Portal an.
  2. Navigieren Sie zu Ihrem Operator Nexus Kubernetes-Cluster.
  3. Wählen Sie unter "Übersicht" die Registerkarte "Verfügbare Upgrades" aus.

Screenshot of available upgrades.

Wählen Sie eine Version aus, auf die ein Upgrade durchgeführt werden soll.

Die verfügbare Upgradeausgabe gibt an, dass mehrere Versionen zur Aktualisierung ausgewählt werden können. In diesem spezifischen Szenario wird der aktuelle Cluster auf Version v1.25.4-3. ausgeführt. Daher sind die verfügbaren Upgradeoptionen enthalten v1.25.4-4 und die neueste Patchversion v1.25.6-1. außerdem eine neue Nebenversion verfügbar.

Sie haben die Flexibilität, auf eine der verfügbaren Versionen zu aktualisieren. Die empfohlene Vorgehensweise besteht jedoch darin, das Upgrade auf die neueste verfügbare major-minor-patch-versionbundle Version durchzuführen.

Hinweis

Das Eingabeformat für die Version ist major.minor.patch oder major.minor.patch-versionbundle. Die Versionseingabe muss eine der verfügbaren Upgradeversionen sein. Wenn beispielsweise die aktuelle Version des Clusters lautet 1.1.1-1, sind 1.1.1-2 gültige Versionseingaben oder 1.1.1-x. Obwohl 1.1.1 es sich um ein gültiges Format handelt, wird kein Update ausgelöst, da die aktuelle Version bereits 1.1.1vorhanden ist. Um ein Update zu initiieren, können Sie die vollständige Version mit dem Versionspaket angeben, z 1.1.1-2. B. . Es handelt sich jedoch um eine gültige Eingabe und 1.2.x verwendet das neueste Versionspaket, 1.1.2 das für 1.1.2 oder 1.2.x.

Durchführen eines Upgrades für den Cluster

Während des Clusterupgrades führt Operator Nexus die folgenden Vorgänge aus:

  • Fügen Sie dem Cluster einen neuen Steuerebenenknoten mit der angegebenen Kubernetes-Version hinzu.
  • Nachdem der neue Knoten hinzugefügt wurde, legen Sie einen der alten Steuerebenenknoten ab, und stellen Sie sicher, dass die darauf ausgeführten Arbeitslasten ordnungsgemäß auf andere fehlerfreie Steuerebenenknoten verschoben werden.
  • Nachdem der alte Steuerebenenknoten entwässert wurde, wird er entfernt, und dem Cluster wird ein neuer Steuerebenenknoten hinzugefügt.
  • Dieser Vorgang wird wiederholt, bis alle Steuerebenenknoten im Cluster aktualisiert wurden.
  • Fügen Sie für jeden Agentpool im Cluster mit der angegebenen Kubernetes-Version einen neuen Arbeitsknoten (oder so viele Knoten wie in max. Aufstand konfiguriert) hinzu. Mehrere Agentpools werden gleichzeitig aktualisiert.
  • Cordon und entwässern einen der alten Arbeitsknoten, um Unterbrechungen bei der Ausführung von Anwendungen zu minimieren. Wenn Sie den maximalen Aufstand verwenden, werden Schnurn und Entwässerung so viele Arbeitsknoten gleichzeitig wie die anzahl der angegebenen Pufferknoten abgelassen.
  • Nachdem der alte Workerknoten entfernt wurde, wird er entfernt, und ein neuer Workerknoten mit der neuen Kubernetes-Version wird dem Cluster hinzugefügt (oder so viele Knoten wie in max. Aufstand konfiguriert)
  • Dieser Vorgang wird wiederholt, bis alle Arbeitsknoten im Cluster aktualisiert wurden.

Wichtig

Stellen Sie sicher, dass mindestens PodDisruptionBudgets ein Podreplikat (PDB) gleichzeitig verschoben werden kann, andernfalls schlägt der Entwässerungs-/Vict-Vorgang fehl. Wenn der Abflussvorgang fehlschlägt, schlägt der Upgradevorgang ebenfalls fehl, um sicherzustellen, dass die Anwendungen nicht unterbrochen werden. Korrigieren Sie, was dazu führte, dass der Vorgang beendet wurde (z. B. falsche PDBs, fehlendes Kontingent usw.), und versuchen Sie es erneut.

  1. Führen Sie ein Upgrade Ihres Clusters mithilfe des Befehls networkcloud kubernetescluster update durch.
az networkcloud kubernetescluster update --name myNexusK8sCluster --resource-group myResourceGroup --kubernetes-version v1.26.3
  1. Überprüfen Sie mit dem Befehl show, ob das Upgrade erfolgreich war.
az networkcloud kubernetescluster show --name myNexusK8sCluster --resource-group myResourceGroup --output json --query kubernetesVersion

Die folgende Beispielausgabe zeigt, dass der Cluster jetzt v1.26.3 ausführt:

"v1.26.3"
  1. Stellen Sie sicher, dass der Cluster fehlerfrei ist.
az networkcloud kubernetescluster show --name myNexusK8sCluster --resource-group myResourceGroup --output table

Die folgende Beispielausgabe zeigt, dass der Cluster fehlerfrei ist:

Name                 ResourceGroup          ProvisioningState    DetailedStatus    DetailedStatusMessage             Location
------------------   ---------------------  -------------------  ----------------  --------------------------------  --------------
myNexusK8sCluster    myResourceGroup        Succeeded            Available         Cluster is operational and ready  southcentralus

Anpassen des Upgrades für Knotenanstiege

Standardmäßig konfiguriert Operator Nexus Upgrades, um mit einem zusätzlichen Arbeitsknoten zu steigen. Ein Standardwert von einem für die Einstellungen für den maximalen Aufstand ermöglicht es Operator Nexus, Arbeitsauslastungsunterbrechungen zu minimieren, indem ein zusätzlicher Knoten erstellt wird, bevor das Kabel/die Entlastung vorhandener Anwendungen einen älteren versionsgebundenen Knoten ersetzt. Der maximale Anstiegswert kann pro Knotenpool angepasst werden, um einen Kompromiss zwischen Upgradegeschwindigkeit und Upgradeunterbrechung zu ermöglichen. Wenn Sie den maximalen Anstiegswert erhöhen, wird der Upgradevorgang schneller abgeschlossen. Wenn Sie einen großen Wert für den maximalen Anstieg festlegen, kann es während des Upgradeprozesses zu Unterbrechungen kommen.

Beispielsweise ermöglicht ein maximaler Anstiegswert von 100 % den schnellstmöglichen Upgradevorgang (wobei die Knotenanzahl verdoppelt wird), führt aber auch dazu, dass alle Knoten im Knotenpool gleichzeitig ausgeglichen werden. Sie könnten für Testumgebungen einen höheren Wert verwenden. Für Produktionsknotenpools wird ein maximaler Anstiegswert von 33 % empfohlen.

Die API akzeptiert sowohl ganzzahlige Werte als auch einen Prozentwert für den maximalen Anstieg. Eine ganze Zahl wie 5 gibt für den Anstieg fünf zusätzliche Knoten an. Der Wert 50 % gibt einen Anstiegswert der Hälfte der aktuellen Knotenanzahl im Pool an. Die Prozentwerte für den maximalen Anstieg können mindestens 1 % und maximal 100 % lauten. Ein Prozentwert wird auf die nächste Knotenanzahl aufgerundet. Wenn der „Max Surge“-Wert höher als die erforderliche Anzahl von Knoten ist, die aktualisiert werden soll, wird die Anzahl der Knoten, die aktualisiert werden soll, für den „Max Surge“-Wert verwendet.

Während eines Upgrades kann der maximale Anstiegswert mindestens 1 betragen und maximal der Anzahl von Knoten in Ihrem Knotenpool entsprechen. Sie können höhere Werte festlegen, aber die maximale Anzahl von Knoten, die für den maximalen Anstieg verwendet wird, ist nicht größer als die Anzahl der Knoten im Pool zum Zeitpunkt des Upgrades.

Wichtig

Die Kubernetes-Standardarbeitslasten werden nativ mit den neuen Knoten gekreist, wenn sie von den Knoten abgelassen werden, die abgerissen werden. Beachten Sie, dass der Operator Nexus Kubernetes-Dienst keine Arbeitsauslastungszusagen für nicht standardmäßige Kubernetes-Verhaltensweisen machen kann.

Nächste Schritte