Knotenpool aktualisieren
In diesem Thema wird erläutert, wie Sie Ihre Knotenpools aktualisieren können. Sie können Ihre Knotenpools aus folgenden Gründen aktualisieren:
- So aktualisieren Sie die Version Ihres Knotenpools:
- So ändern Sie die Anzahl der Knoten in Ihrem Knotenpool:
- Zum Ändern der Knotenpoolannotationen (nur über die API aktualisierbar)
Sie können auch zusätzliche Parameter in Ihren Knotenpools ändern, die oben nicht aufgeführt sind.
Eine vollständige Liste der Parameter, die Sie aktualisieren können, finden Sie in der Dokumentation zu gcloud container azure node-pools update
und projects.locations.azureNodePools.patch
.
Prozess aktualisieren
In diesem Abschnitt werden die Prozesse beschrieben, die bei GKE on Azure zum Aktualisieren eines Knotenpools erforderlich sind. Der Vorgang unterscheidet sich je nach Umfang der erforderlichen Änderungen am Knotenpool.
Reine Konfigurationsaktualisierung
Wenn GKE on Azure einen Knotenpool aktualisieren kann, ohne Ressourcen neu zu starten oder neu zu erstellen, werden diese Änderungen vorgenommen. Beispielsweise werden durch das Aktualisieren der Anmerkungen des Knotenpools keine Instanzen neu gestartet.
Rolling Update
Wenn für eine Änderung an einem Knotenpool vorhandene virtuelle Maschinen neu gestartet werden müssen, z. B. beim Aktualisieren der Kubernetes-Version, führt GKE on Azure die folgenden Schritte aus:
- Ändern Sie den VM-Skalierungsbereich der Knotenpools mit der neuen Konfiguration.
- Wählen Sie die zu aktualisierende zugrunde liegende Instanz eines Knotens aus.
- GKE on Azure sperrt den Knoten und beendet ihn per Drain. Zu diesem Zeitpunkt können keine neuen Pods auf dem Zielknoten geplant werden. Vorhandene Pod-Objekte auf dem Zielknoten werden auf andere Knoten umgeplant. Pods, die nicht auf einen anderen vorhandenen Knoten umgeplant werden können, verbleiben in der Phase Ausstehend, bis sie geplant werden können.
- Aktualisieren Sie die Instanz, um die neueste Konfiguration aus dem VM-Skalierungsbereich abzurufen.
- Erstellen Sie ein neues Image und starten Sie die Instanz neu.
- Warten Sie, bis die Knoten in diesem Knotenpool fehlerfrei sind.
- Wenn alle Knoten in diesem Knotenpool fehlerfrei sind, wählen Sie einen anderen Knoten aus, bis alle Knoten aktualisiert sind. Wenn ein Knoten fehlerhaft ist, versetzt GKE on Azure den Knotenpool in den Status
DEGRADED
. Weitere Informationen finden Sie unter Fehlgeschlagene Aktualisierungen.
Arbeitslasten während eines Rolling Update für einen Knotenpool schützen
Während des Rolling Updates des Knotenpools berücksichtigt GKE on Azure die PodDisruptionBudget-Konfiguration
bis zu eine Stunde lang, nachdem ein Knoten ausgeglichen wurde. Nach einer Stunde löscht GKE on Azure alle verbleibenden Pods auf dem Knoten.
Größe von Knotenpools anpassen
Für GKE-Knotenpools in Azure ist Cluster Autoscaling standardmäßig aktiviert. Cluster Autoscaling passt die Größe des Knotenpools automatisch an die Anforderungen der Arbeitslasten an. Weitere Informationen zu Cluster Autoscaling finden Sie unter Cluster Autoscaling.
Wenn Sie die maximale und die minimale Anzahl von Knoten im Knotenpool ändern, führt GKE on Azure unterschiedliche Aktionen aus, je nach neuer Konfiguration und aktueller Anzahl der Knoten des Knotenpools. Zu diesen Aktionen gehören:
Wenn die aktuelle Knotenanzahl des Knotenpools bereits innerhalb des neuen Bereichs liegt, ändert GKE on Azure die Anzahl der Knoten im Pool nicht.
Wenn die neue Mindestanzahl von Knoten die aktuelle Anzahl der Knoten überschreitet, fügt GKE on Azure mehr Knoten hinzu, bis der Knotenpool die neue Mindestgröße erreicht.
Wenn die neue maximale Anzahl von Knoten die aktuelle Knotenanzahl des Knotenpools unterschreitet, reduziert GKE on Azure die Größe des Knotenpools durch Ausführen der folgenden Aktionen:
- Aktualisieren der Autoscaling-Konfiguration auf die im Knotenpool festgelegte VM-Skalierungsstufe
- Knoten zum Entfernen auswählen
- Knoten sperren und per Drain beenden
- Die zugrunde liegende VM-Instanz löschen
- Warten Sie, bis die gelöschte virtuelle Maschine vollständig heruntergefahren ist
- Systemdiagnose für den gesamten Knotenpool ausführen
- Wiederholen, bis die Anzahl der Knoten die gewünschte Anzahl erreicht hat
So schützt GKE on Azure Arbeitslasten während der Größenanpassung von Knotenpools
Während der Größenanpassung des Knotenpools berücksichtigt GKE on Azure die PodDisruptionBudget-Konfiguration bis zu eine Stunde lang, nachdem ein Knoten ausgeglichen wurde. Nach einer Stunde löscht GKE on Azure alle verbleibenden Pod-Objekte auf dem Knoten.
Während der Größenanpassung des Knotenpools fährt GKE on Azure alle Knoten, die neu gestartet oder entfernt werden sollen, ordnungsgemäß herunter und wartet bis zu zwei Stunden. Wenn nach zwei Stunden verbleibende Pod-Objekte auf dem Knoten vorhanden sind, löscht GKE on Azure die zugrunde liegende VM-Instanz.
Status fehlgeschlagener Aktualisierungen prüfen
Wenn GKE on Azure nach einer Aktualisierung eine Systemdiagnose durchführen und die Systemdiagnose fehlschlägt, wird der Knotenpool als DEGRADED
markiert. Mit dem folgenden Google Cloud CLI-Befehl können Sie Statusinformationen zu Ihrem Cluster abrufen:
gcloud container azure node-pools describe NODE_POOL_NAME \
--cluster CLUSTER_NAME \
--location GOOGLE_CLOUD_LOCATION
Dabei gilt:
NODE_POOL_NAME
: der Name des Knotenpools.CLUSTER_NAME
: der Name Ihres ClustersGOOGLE_CLOUD_LOCATION
: die Google Cloud Region, die Ihren Cluster verwaltet
Die Ausgabe enthält Informationen zum Status und zur Konfiguration des Knotenpools.
Vorbereitung
Zum Aktualisieren eines Knotenpools benötigen Sie die Berechtigung gkemulticloud.googleapis.com/azureNodePools.update
-Identitäts- und Zugriffsverwaltung
Knotenpool aktualisieren
Sie können einen Knotenpool mit der Google Cloud CLI aktualisieren. Zum Aktualisieren eines Knotenpools führen Sie folgenden Befehl aus:
gcloud container azure node-pools update NODE_POOL_NAME \
--cluster CLUSTER_NAME \
--location GOOGLE_CLOUD_LOCATION \
--node-version NODE_POOL_VERSION \
--min-nodes MIN_NODES \
--max-nodes MAX_NODES
Dabei gilt:
NODE_POOL_NAME
: ist der Name des Knotenpools, der aktualisiert werden soll.CLUSTER_NAME
: ist der Name des Clusters, an den der Knotenpool angehängt werden soll.GOOGLE_CLOUD_LOCATION
: die unterstützte Google Cloud Region, die Ihren Cluster verwaltet, z. B.us-west1
NODE_POOL_VERSION
: ist die neue unterstützte KnotenpoolversionMIN_NODES
: ist die neue Mindestanzahl von Knoten, die der Knotenpool enthalten darf. Muss0
oder größer seinMAX_NODES
: ist die neue maximale Anzahl an Knoten, die der Knotenpool enthalten darf. Muss mindestens1
sein und den Wert vonMIN_NODES
haben.
Aktualisierungsvorgang abbrechen
Führen Sie den folgenden Befehl aus, um einen laufenden Knotenpool-Aktualisierungsvorgang abzubrechen:
gcloud container azure operations cancel OPERATION_NAME
Ersetzen Sie OPERATION_NAME
durch den Namen des Aktualisierungsvorgangs.
Hinweis: Wenn Sie einen laufenden Vorgang zum Aktualisieren eines Knotenpools abbrechen, werden bereits abgeschlossene Knotenupdates nicht rückgängig gemacht. Dies kann zu einem teilweise aktualisierten Knotenpool führen.
Nächste Schritte
- Referenzdokumentation zu gcloud container azure node-pools create lesen
- Knotenpool löschen