Azure-Clusterparameter aktualisieren

Auf dieser Seite wird beschrieben, wie Sie die Einstellungen Ihres GKE on Azure-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 Ihres Clusters.
  • So aktualisieren Sie die Annotationen Ihres Clusters.
  • So aktualisieren Sie die Liste der Nutzer mit Administratorzugriff Ihres Clusters.
  • Aktualisieren der Logging-Konfiguration Ihres Clusters.
  • Um die VM-Größe des Clusters zu aktualisieren.
  • So aktualisieren Sie den AzureClient Ihres Clusters.
  • So aktualisieren Sie die Authentifizierung Ihres Clusters von AzureClient auf die Identitätsföderation von Arbeitslasten.

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 azure clusters update und projects.locations.azureClusters.patch.

Vorbereitung

  • Sie benötigen die IAM-Berechtigung gkemulticloud.googleapis.com/azureClusters.update (Identity and Access Management), um Felder des Clusters zu aktualisieren.

Der Aktualisierungsvorgang

Der Prozess, mit dem GKE on Azure einen Cluster aktualisiert, unterscheidet sich je nach Art der Aktualisierung. Bei einigen Änderungen kann GKE on Azure einen Cluster aktualisieren, ohne Ressourcen neu starten oder neu erstellen zu müssen, z. B. beim Aktualisieren der Beschreibung eines Clusters. GKE on Azure nimmt diese Änderungen sofort vor.

Andere Änderungen erfordern einen Neustart der Steuerungsebenenknoten, z. B. beim Aktualisieren der VM-Größe oder der Kubernetes-Version. Für solche Aktualisierungen führt GKE on Azure ein „Rolling Update“ durch, das aus den folgenden Schritten besteht:

  1. Wählen Sie eine Instanz der Steuerungsebene aus, die aktualisiert werden soll. GKE on Azure aktualisiert fehlerhafte Instanzen, sofern vorhanden, vor den fehlerfreien.
  2. Löschen Sie die Instanz. GKE on Azure erstellt die Instanz neu und die Instanz wird mit der neuen Konfiguration gestartet.
  3. Führen Sie Systemdiagnosen für die Instanz durch.
  4. 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, versetzt GKE on Azure den Cluster in den Status DEGRADED und beendet das Update. Weitere Informationen finden Sie im folgenden Abschnitt:

Wenn ein Update fehlschlägt

Nach einem Update führt GKE on Azure 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 azure clusters describe CLUSTER_NAME \
  --location=GOOGLE_CLOUD_LOCATION

Dabei gilt:

  • CLUSTER_NAME: der Name Ihres Clusters
  • GOOGLE_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 entweder ü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 einen Cluster über die Console aktualisieren 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

  1. Rufen Sie in der Google Cloud Console die Seite Google Kubernetes Engine-Cluster – Übersicht auf.

    Zu GKE-Clustern

  2. Wählen Sie das Google Cloud Projekt aus, in dem sich der Cluster befindet.

  3. Wählen Sie in der Clusterliste den Namen des Clusters aus und dann in der Seitenleiste Details ansehen.

  4. Wählen Sie auf dem Tab Details bei dem Feld, das Sie ändern möchten, Bearbeiten aus.

    Wenn Sie beispielsweise anderen Nutzern Administratorberechtigungen für den Cluster erteilen möchten, wählen Sie neben Administratornutzer die Option Bearbeiten aus und geben Sie die E-Mail-Adresse des Nutzers ein.

  5. Wenn Sie alle gewünschten Änderungen vorgenommen haben, wählen Sie Fertig aus.

gcloud

Wenn Sie einen Cluster mit der gcloud CLI aktualisieren, müssen Sie immer die Felder CLUSTER_NAME und GOOGLE_CLOUD_LOCATION angeben, damit GKE on Azure weiß, welcher Cluster aktualisiert werden soll. Nehmen Sie in den folgenden Befehl nur die Felder auf, die Sie aktualisieren möchten. Entfernen Sie die anderen Felder, bevor Sie den Befehl ausführen.

gcloud container azure clusters update CLUSTER_NAME \
    --location=GOOGLE_CLOUD_LOCATION \
    --cluster-version=CLUSTER_VERSION \
    --admin-users=USERNAME_LIST \
    --client=CLIENT_NAME \
    --vm-size=VM_SIZE 

Ersetzen Sie Folgendes:

  • CLUSTER_NAME: der Name Ihres Clusters
  • GOOGLE_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.
  • CLIENT_NAME: Ihr AzureClient
  • VM_SIZE: die neue unterstützte VM-Größe

Führen Sie den folgenden Befehl aus, um die Authentifizierung des Clusters von AzureClient auf Workload Identity-Föderation zu aktualisieren:

gcloud container azure clusters update CLUSTER_NAME \
    --location=GOOGLE_CLOUD_LOCATION \
    --azure-tenant-id="${TENANT_ID}" \
    --azure-application-id="${APPLICATION_ID}" \
    --clear-client

API

Wenn Sie einen Cluster mit der GKE Multi-Cloud API aktualisieren, müssen Sie immer die FelderCLUSTER_NAME undGOOGLE_CLOUD_LOCATION in die HTTP-Anfrage einfügen. Diese Felder geben an, welcher Cluster von GKE on Azure aktualisiert werden soll. Sie müssen auch den API-Endpunkt in die Anfrage einfügen. Sie erstellen eine JSON-Datei mit den Feldern, die Sie aktualisieren möchten. Nehmen Sie nur die Felder auf, 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 der Liste der Felder, die Sie aktualisieren können, finden Sie in der Dokumentation zur Methode projects.locations.azureClusters.patch.

  1. Erstellen Sie eine JSON-Datei mit dem Namen cluster_update.json mit den Feldern, die Sie aktualisieren möchten.

    • Wenn Sie die Workload Identity-Föderation verwenden, sollte die JSON-Datei so aussehen:
      {
        "description": "CLUSTER_DESCRIPTION",
        "controlPlane": {
          "version": "CLUSTER_VERSION",
          "vm_size": "VM_SIZE
        },
        "azureServicesAuthentication": {
          "tenantId": "TENANT_ID",
          "applicationId": "APPLICATION_ID"
        },
        "authorization": {
            "adminUsers": [
                {
                "username": USERNAME1,
                "username": USERNAME2,
                "username": USERNAME3
                }
            ]
        }
      }
      
    • Bei Verwendung des Azure-Clients sollte die JSON-Datei so aussehen:
      {
        "description": "CLUSTER_DESCRIPTION",
        "controlPlane": {
          "version": "CLUSTER_VERSION",
          "vm_size": "VM_SIZE
        },
        "azureClient": "CLIENT_NAME",
        "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 Clusterbeschreibung
    • USERNAME1,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.
    • CLIENT_NAME: der Name Ihres Azure-Clients
    • TENANT_ID: die Azure-Mandanten-ID
    • APPLICATION_ID: die Azure-Anwendungs-ID, die in Azure Active Directory-Anwendung erstellen erstellt wurde
    • VM_SIZE: die neue VM-Größe
  2. 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/azureClusters/CLUSTER_NAME?update_mask=UPDATE_MASK
    

Ersetzen Sie Folgendes:

  • ENDPOINT (erforderlich): Ihr Google Cloud Dienstendpunkt
  • PROJECT_ID (erforderlich): Ihr Google Cloud -Projekt
  • GOOGLE_CLOUD_LOCATION (erforderlich): die unterstützte Google Cloud Region, die Ihren Cluster verwaltet, z. B. us-west1
  • CLUSTER_NAME (erforderlich): Ihr Clustername
  • UPDATE_MASK (erforderlich): Eine durch Kommas getrennte Liste mit einem oder mehreren der folgenden Flags, die angeben, welche Felder aktualisiert werden sollen. Geben Sie in diesem Beispiel Folgendes an.
    • controlPlane.version
    • description
    • authorization.admin_users
    • control_plane.vm_size
    • azure_client
    • azure_services_authentication.tenant_id
    • azure_services_authentication.application_id

Wenn Sie die Authentifizierung des Clusters von AzureClient auf Workload Identity-Föderation aktualisieren möchten, fügen Sie azure_client, azure_services_authentication.tenant_id und azure_services_authentication.application_id im Feld update_mask hinzu.

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 azure clusters update CLUSTER_NAME \
    --location=GOOGLE_CLOUD_LOCATION \
    --logging=LOGGING_CONFIG \

Dabei gilt:

  • CLUSTER_NAME: der Name des Clusters
  • GOOGLE_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