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
upgradeSettings
Create 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
- Melden Sie sich beim Azure-Portal an.
- Navigieren Sie zu Ihrem Operator Nexus Kubernetes-Cluster.
- Wählen Sie unter "Übersicht" die Registerkarte "Verfügbare Upgrades" aus.
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.1
vorhanden 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.
- 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
- Ü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"
- 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
- Erfahren Sie mehr über Nexus Kubernetes-Versionspakete.