Auf dieser Seite wird beschrieben, wie Sie die Einstellungen Ihres GKE on AWS-Clusters aktualisieren. Anhand dieser Anleitung können Sie alle aktualisierbaren Einstellungen in Ihrem Cluster aktualisieren, einschließlich der Kubernetes-Version. Da das Upgrade der Version einer der am häufigsten verwendeten Clusteraktualisierungsvorgänge ist, wird auf einer separaten Seite Cluster upgraden beschrieben, wie Sie ein Upgrade einer Clusterversion durchführen.
Gründe für ein Update eines Clusters
Sie können einen Cluster aus einem der folgenden Gründe aktualisieren:
- So aktualisieren Sie die Beschreibung des Clusters.
- So aktualisieren Sie die Annotationen des Clusters:
- So aktualisieren Sie die Liste der Nutzer mit Administratorzugriff Ihres Clusters.
- Aktualisieren der Logging-Konfiguration Ihres Clusters.
- Rotieren Sie Ihre Verschlüsselungsschlüssel.
- So aktualisieren Sie die Sicherheitsgruppen der Cluster-Steuerungsebene.
Sie können auch andere Felder in Ihren Clustern aktualisieren, die hier nicht aufgeführt sind.
Eine vollständige Liste der Felder, die Sie aktualisieren können, finden Sie in der Dokumentation zu gcloud container aws clusters update
und projects.locations.awsClusters.patch
.
Vorbereitung
Sie benötigen die IAM-Berechtigung
gkemulticloud.googleapis.com/awsClusters.update
(Identity and Access Management), um Felder des Clusters zu aktualisieren.Zum Aktualisieren der Sicherheitsgruppen Ihres Clusters muss die Rolle der Steuerungsebene Ihres Clusters die Berechtigung
ec2:ModifyNetworkInterfaceAttribute
haben. Weitere Informationen finden Sie unter Rolle der Steuerungsebene erstellen.Darüber hinaus muss die API-Rolle Ihres Clusters die folgenden AWS-Berechtigungen haben, um die Tags Ihres Clusters zu aktualisieren:
autoscaling:CreateOrUpdateTags
autoscaling:DeleteTags
ec2:CreateTags
ec2:DescribeLaunchTemplates
ec2:DescribeSecurityGroupRules
ec2:DeleteTags
elasticloadbalancing:AddTags
elasticloadbalancing:RemoveTags
Unter AWS-IAM-Rollen erstellen können Sie nachlesen, wie Sie der API-Rolle Ihres Clusters Berechtigungen hinzufügen.
Der Aktualisierungsvorgang
Wie ein Cluster von GKE on AWS aktualisiert wird, hängt von der Art der Aktualisierung ab. Bei einigen Änderungen kann GKE on AWS einen Cluster aktualisieren, ohne dass die Ressourcen neu gestartet oder Ressourcen neu erstellt werden müssen, z. B. durch Aktualisieren der Beschreibung eines Clusters. GKE on AWS nimmt diese Änderungen sofort vor.
Andere Änderungen erfordern einen Neustart der Steuerungsebenenknoten, z. B. beim Aktualisieren der Kubernetes-Version. Für solche Updates führt GKE on AWS ein „Rolling Update“ aus, das aus den folgenden Schritten besteht:
- Wählen Sie eine Instanz der Steuerungsebene aus, die aktualisiert werden soll. GKE on AWS aktualisiert fehlerhafte Instanzen vor fehlerfreien Instanzen, sofern vorhanden.
- Erstellen Sie eine neue Startvorlage für die Instanz.
- Aktualisieren Sie die Startvorlage der Autoscaling-Gruppe.
- Löschen Sie die Instanz. AWS erstellt die Instanz neu und die Instanz wird mit der neuen Konfiguration gestartet.
- Führen Sie Systemdiagnosen für die neue Instanz durch.
- Wenn die Systemdiagnosen erfolgreich sind, wählen Sie eine andere Instanz aus und führen Sie dieselben Schritte für sie aus. Wiederholen Sie diesen Zyklus, bis alle Instanzen neu gestartet oder neu erstellt wurden. Wenn die Systemdiagnose fehlschlägt, setzt GKE on AWS den Cluster in den Status
DEGRADED
und stoppt das Update. Weitere Informationen finden Sie im folgenden Abschnitt: - Löschen Sie die ursprüngliche Startvorlage.
Wenn ein Update fehlschlägt
Nach einem Update führt GKE on AWS eine Systemdiagnose für den Cluster durch.
Wenn die Systemdiagnose fehlschlägt, wird der Cluster als DEGRADED
markiert. Sie können den Status des Clusters mit dem folgenden Befehl der Google Cloud CLI aufrufen:
gcloud container aws clusters describe CLUSTER_NAME \
--location=GOOGLE_CLOUD_LOCATION
Ersetzen Sie Folgendes:
CLUSTER_NAME
: der Name Ihres ClustersGOOGLE_CLOUD_LOCATION
: die Google Cloud-Region, die Ihren Cluster verwaltet
Cluster aktualisieren
Sie können entweder die Google Cloud Console, die Google Cloud CLI oder die GKE Multi-Cloud API verwenden, um mehrere Clusterfelder gleichzeitig zu aktualisieren.
Aktualisierungsmethode auswählen
Sie können die meisten Felder über die Console, die gcloud CLI oder die GKE Multi-Cloud API aktualisieren. Einige Felder können nur über einen der Mechanismen aktualisiert werden. Wenn Sie die Console zum Aktualisieren eines Clusters verwenden möchten, müssen Sie zuerst eine Authentifizierungsmethode für die Anmeldung beim Cluster auswählen und konfigurieren. Weitere Informationen finden Sie unter Verbindung zum Cluster herstellen und authentifizieren.
Console
Rufen Sie in der Google Cloud Console die Seite Übersicht über Google Kubernetes Engine-Cluster auf.
Wählen Sie das Google Cloud-Projekt aus, in dem sich der Cluster befindet.
Wählen Sie in der Clusterliste den Namen des Clusters aus und wählen Sie dann in der Seitenleiste Details ansehen aus.
Wählen Sie auf dem Tab Details bei dem Feld, das Sie ändern möchten, die Option
Bearbeiten aus.Wenn Sie anderen Nutzern beispielsweise Administratorberechtigungen für den Cluster gewähren möchten, wählen Sie neben Administratornutzer
Bearbeiten aus und geben Sie die E-Mail-Adresse des Nutzers ein.Wenn Sie alle Änderungen vorgenommen haben, wählen Sie Fertig aus.
gcloud
Wenn Sie einen Cluster über die gcloud CLI aktualisieren, müssen Sie immer die Felder CLUSTER_NAME
und GOOGLE_CLOUD_LOCATION
angeben. Diese geben GKE on AWS an, welcher Cluster aktualisiert werden soll. Fügen Sie in den folgenden Befehl nur die Felder ein, die Sie aktualisieren möchten. Entfernen Sie die anderen Felder, bevor Sie den Befehl ausführen.
gcloud container aws clusters update CLUSTER_NAME \
--location=GOOGLE_CLOUD_LOCATION \
--cluster-version=CLUSTER_VERSION \
--admin-users=USERNAME_LIST \
--root-volume-iops=ROOT_VOLUME_IOPS \
--root-volume-size=ROOT_VOLUME_SIZE \
--root-volume-type=ROOT_VOLUME_TYPE \
--security-group-ids=SECURITY_GROUP_IDS
Ersetzen Sie Folgendes:
CLUSTER_NAME
: der Name Ihres ClustersGOOGLE_CLOUD_LOCATION
(erforderlich): die unterstützte Google Cloud-Region, die Ihren Cluster verwaltet, z. B.us-west1
CLUSTER_VERSION
: die neue unterstützte Clusterversion.USERNAME_LIST
: eine durch Kommas getrennte Liste von Nutzernamen, z. B. „kai@beispiel.de,hao@beispiel.de,kalani@beispiel.de“. Dies sind die E-Mail-Adressen der Nutzer, denen Sie Administratorberechtigungen für diesen Cluster gewähren. Die Namen in diesem Feld ersetzen alle vorherigen Listen von Administratornutzern für den Cluster.ROOT_VOLUME_IOPS
: die maximalen E/A-Vorgänge des Root-Volumes pro SekundeROOT_VOLUME_SIZE
: die Größe des Root-Volumes in Gbit/sROOT_VOLUME_TYPE
: der EBS-Volume-Typ des AWS-VolumesSECURITY_GROUP_IDS
: die IDs der AWS-Sicherheitsgruppen, die den Instanzen der Clustersteuerungsebene hinzugefügt werden sollenSECURITY_GROUP_IDS
sind die IDs der AWS-Sicherheitsgruppen, die den Instanzen der Clustersteuerungsebene hinzugefügt werden sollen.
API
Wenn Sie einen Cluster mit der GKE Multi-Cloud API aktualisieren, müssen Sie in der HTTP-Anfrage immer die Felder CLUSTER_NAME
und GOOGLE_CLOUD_LOCATION
angeben. Diese Felder teilen GKE on AWS mit, welcher Cluster aktualisiert werden soll. Sie müssen auch den API-Endpunkt in die Anfrage aufnehmen. Sie erstellen eine JSON-Datei mit den Feldern, die Sie aktualisieren möchten. Geben Sie nur die Felder an, die Sie in der JSON-Datei und im UPDATE_MASK
aktualisieren möchten.
Das folgende Beispiel zeigt, wie Sie Ihren Cluster über die API aktualisieren.
Weitere Informationen, einschließlich einer Liste der Felder, die aktualisiert werden können, finden Sie in der Dokumentation zur Methode projects.locations.awsClusters.patch
.
Erstellen Sie eine JSON-Datei mit dem Namen
cluster_update.json
und den Feldern, die Sie aktualisieren möchten.{ "controlPlane": { "version": "CLUSTER_VERSION", }, "description": "CLUSTER_DESCRIPTION", "authorization": { "adminUsers": [ { "username": USERNAME1, "username": USERNAME2, "username": USERNAME3 } ] } }
Ersetzen Sie Folgendes:
CLUSTER_VERSION
: die neue unterstützte Clusterversion. Sie müssen beim Upgrade des Clusters alle Nebenversionen aktualisieren.CLUSTER_DESCRIPTION
: die neue ClusterbeschreibungUSERNAME1
,USERNAME2
,USERNAME3
: die E-Mail-Adressen der Nutzer, denen Sie Administratorberechtigungen für diesen Cluster gewähren. Die Namen in diesen Feldern ersetzen alle vorherigen Listen von Administratornutzern für den Cluster.
Aktualisieren Sie diese Einstellungen über die GKE Multi-Cloud API mit dem folgenden Befehl.
curl -d @cluster_update.json -X PATCH \ ENDPOINT/projects/PROJECT_ID/locations/GOOGLE_CLOUD_LOCATION/awsClusters/CLUSTER_NAME?update_mask=UPDATE_MASK
Ersetzen Sie Folgendes:
ENDPOINT
(erforderlich): Ihr Google Cloud-DienstendpunktPROJECT_ID
(erforderlich): Ihr Google Cloud-ProjektGOOGLE_CLOUD_LOCATION
(erforderlich): die unterstützte Google Cloud-Region, die Ihren Cluster verwaltet, z. B.us-west1
CLUSTER_NAME
(erforderlich): Ihr ClusternameUPDATE_MASK
(erforderlich): eine durch Kommas getrennte Liste eines oder mehrerer der folgenden Flags, die angibt, welche Felder aktualisiert werden sollen. Geben Sie in diesem Beispiel Folgendes an.- controlPlane.version
- description
- authorization.admin_users
Sicherheitsgruppen Ihres Clusters aktualisieren
Zum Aktualisieren der Sicherheitsgruppen Ihres Clusters muss die Rolle der Steuerungsebene Ihres Clusters die Berechtigung ec2:ModifyNetworkInterfaceAttribute
haben. Weitere Informationen finden Sie unter Rolle „Steuerungsebene erstellen”.
Mit dem Befehl gcloud container aws clusters update
können Sie Ihrer Sicherheitskontrollebene zusätzliche Sicherheitsgruppen hinzufügen.
gcloud container aws clusters update CLUSTER_NAME \
--location=GOOGLE_CLOUD_LOCATION \
--security-group-ids=SECURITY_GROUP_IDS
Ersetzen Sie Folgendes:
CLUSTER_NAME
: der Name des ClustersGOOGLE_CLOUD_LOCATION
: die unterstützte Google Cloud-Region, die Ihren Cluster verwaltet, z. B.us-west1
SECURITY_GROUP_IDS
sind die IDs der AWS-Sicherheitsgruppen, die den Instanzen der Clustersteuerungsebene hinzugefügt werden sollen.
Cluster-Sicherheitsgruppen entfernen
Sie können alle nicht standardmäßigen Sicherheitsgruppen mit der Google Cloud CLI aus Ihrem Cluster entfernen. Führen Sie folgenden Befehl aus, um einen Cluster zu aktualisieren:
gcloud container aws clusters update CLUSTER_NAME \
--location=GOOGLE_CLOUD_LOCATION \
--clear-security-group-ids
Ersetzen Sie Folgendes:
CLUSTER_NAME
: der Name des ClustersGOOGLE_CLOUD_LOCATION
: die unterstützte Google Cloud-Region, die Ihren Cluster verwaltet, z. B.us-west1
Informationen zum Cluster-Volume aktualisieren
Sie können die Volumes der Steuerungsebene Ihres Clusters mit der Google Cloud CLI aktualisieren. Informationen zum Aktualisieren von KMS-Schlüssel in Volumes finden Sie unter Schlüsselrotation.
Führen Sie den folgenden Befehl aus, um die Volume-Größe, den Typ oder die IOPS zu aktualisieren:
gcloud container aws clusters update CLUSTER_NAME \
--location=GOOGLE_CLOUD_LOCATION \
--root-volume-iops=ROOT_VOLUME_IOPS
--root-volume-size=ROOT_VOLUME_SIZE
--root-volume-type=ROOT_VOLUME_TYPE
Ersetzen Sie Folgendes:
CLUSTER_NAME
: der Name des ClustersGOOGLE_CLOUD_LOCATION
: die unterstützte Google Cloud-Region, die Ihren Cluster verwaltet, z. B.us-west1
ROOT_VOLUME_IOPS
: E/A-Vorgänge des Root-Volumes pro SekundeROOT_VOLUME_SIZE
: die Größe des Root-Volumes in Gbit/sROOT_VOLUME_TYPE
ist der AWS-EBS-Volume-Typ des Root-Volumes.
Logging-Konfiguration aktualisieren
Sie können die Cloud Logging-Konfigurationseinstellungen des Clusters mit der Google Cloud CLI aktualisieren. Führen Sie folgenden Befehl aus, um die Logging-Konfiguration zu aktualisieren:
gcloud container aws clusters update CLUSTER_NAME \
--location=GOOGLE_CLOUD_LOCATION \
--logging=LOGGING_CONFIG \
Ersetzen Sie Folgendes:
CLUSTER_NAME
: der Name des ClustersGOOGLE_CLOUD_LOCATION
: die unterstützte Google Cloud-Region, die Ihren Cluster verwaltet, z. B.us-west1
LOGGING_CONFIG
: [SYSTEM] oder [SYSTEM,WORKLOAD]
Nächste Schritte
- Informationen zum Aktualisieren von KMS-Schlüsseln in Volumes finden Sie unter Schlüsselrotation.
- Weitere Informationen zu aktualisierbaren Feldern finden Sie in der Referenzdokumentation zu
gcloud container aws clusters update
. - Siehe REST-Dokumentation zu
projects.locations.awsClusters.patch
.