AKS-Cluster migrieren

Die Vorgängerversion von mit GKE angehängten Clustern wird als mit GKE angehängte Cluster (vorherige Generation) bezeichnet. Durch die Migration von der früheren Version von GKE-angehängten Clustern zur aktuellen Generation erhalten Sie Zugriff auf diese Funktion, einschließlich Lebenszyklusverwaltung und Flottenregistrierung. Die Migration ist ein einseitiger Vorgang: Nach der Migration zur aktuellen Generation von GKE-angehängten Clustern können Sie nicht zu GKE-angehängten Clustern (vorherige Generation) zurückkehren.

Richtlinie zur Versionsnummerierung

In diesen Dokumenten wird die Version des angehängten GKE-Clusters als Plattformversion bezeichnet, um sie von der Kubernetes-Version zu unterscheiden. Bei GKE-angehängten Clustern wird die gleiche Versionsnummerkonvention wie bei GKE verwendet, z. B. 1.21.5-gke.1. Wenn Sie Ihren Cluster anhängen oder aktualisieren, müssen Sie eine Plattformversion auswählen, deren Nebenversion der Kubernetes-Version Ihres Clusters entspricht oder eine Ebene darunter liegt. Sie können beispielsweise einen Cluster mit Kubernetes v1.22.* und der GKE-angehängten Clusterplattformversion 1.21.* oder 1.22.* anhängen.

Dadurch können Sie Ihren Cluster auf die nächste Nebenversion aktualisieren, bevor Sie angehängte GKE-Cluster aktualisieren.

Workload Identity sollte aktiviert sein

Für vorhandene Cluster aus mit GKE angehängten Clustern (vorherige Generation) muss Workload Identity aktiviert sein, bevor sie zur aktuellen Generation von mit GKE angehängten Clustern migriert werden.

Führen Sie den folgenden Befehl aus und prüfen Sie die Ausgabe für ein Workload Identity-Feld, um festzustellen, ob WI aktiviert ist:

gcloud container hub memberships describe MEMBERSHIP_NAME

Wenn Workload Identity nicht aktiviert ist, muss die Mitgliedschaft aktualisiert werden, um sie zu aktivieren.

Der Befehl zum Aktualisieren der Mitgliedschaft Ihres Clusters variiert geringfügig, je nachdem, ob Sie Ihren Cluster mit dem standardmäßigen privaten OIDC-Aussteller oder dem experimentellen öffentlichen Aussteller konfiguriert haben. Wählen Sie den Tab aus, der für Ihren Cluster gilt:

Privater OIDC-Aussteller (Standard)

gcloud container hub memberships register MEMBERSHIP_NAME \
--context=KUBECONFIG_CONTEXT \
--kubeconfig=KUBECONFIG_PATH \
--enable-workload-identity \
--has-private-issuer

Ersetzen Sie:

  • MEMBERSHIP_NAME: Name der Mitgliedschaft Ihres Clusters
  • KUBECONFIG_CONTEXT: Kontext in der kubeconfig-Datei für den Zugriff auf den AKS-Cluster
  • KUBECONFIG_PATH: Pfad zu Ihrer kubeconfig-Datei

Öffentlicher OIDC-Aussteller

  • Rufen Sie die OIDC-Aussteller-URL Ihres Clusters mit dem folgenden Befehl ab:
  az aks show -n CLUSTER_NAME \
    -g RESOURCE_GROUP \
    --query "oidcIssuerProfile.issuerUrl" -otsv

Die Ausgabe dieses Befehls ist die URL Ihres OIDC-Ausstellers. Speichern Sie diesen Wert zur späteren Verwendung.

  • Aktualisieren Sie die Mitgliedschaft:
gcloud container fleet memberships register MEMBERSHIP_NAME \
--context=KUBECONFIG_CONTEXT \
--kubeconfig=KUBECONFIG_PATH \
--enable-workload-identity \
--public-issuer-url=OIDC_URL

Ersetzen Sie:

  • MEMBERSHIP_NAME: Name der Mitgliedschaft Ihres Clusters
  • KUBECONFIG_CONTEXT: Kontext in der kubeconfig-Datei für den Zugriff auf den AKS-Cluster
  • KUBECONFIG_PATH: Pfad zu Ihrer kubeconfig-Datei
  • OIDC_URL: die zuvor abgerufene OIDC-URL

Cluster migrieren

So migrieren Sie Ihren Cluster von mit GKE angehängten Clustern (vorherige Generation) zu mit GKE angehängten Clustern:

  1. Extrahieren Sie den kubeconfig-Kontext Ihres Clusters und speichern Sie ihn in der Umgebungsvariablen KUBECONFIG_CONTEXT:

    KUBECONFIG_CONTEXT=$(kubectl config current-context)
    
  2. Führen Sie den folgenden Befehl aus, um Ihren Cluster zur aktuellen Generation von angehängten GKE-Clustern zu migrieren. Dieser Befehl extrahiert die relevanten Details der Clusterkonfiguration und registriert Ihren Cluster bei Google Fleet Management und installiert oder aktualisiert die erforderliche Software wie den Lebenszyklus-Agent auf Ihrem Cluster.

    gcloud container attached clusters import \
      --location=GOOGLE_CLOUD_REGION \
      --fleet-membership=FLEET_MEMBERSHIP \
      --platform-version=PLATFORM_VERSION \
      --distribution=CLUSTER_DISTRIBUTION \
      --context=KUBECONFIG_CONTEXT \
      [--kubeconfig=KUBECONFIG_PATH]
    

    Ersetzen Sie:

    • GOOGLE_CLOUD_REGION: der Google Cloud-Standort, von dem aus Ihr Cluster verwaltet wird
    • FLEET_MEMBERSHIP ist der voll qualifizierte Mitgliedschaftsbezeichner Ihres registrierten Clusters (siehe unten).
    • PLATFORM_VERSION: die Version von GKE-angehängten Clustern, zu denen Sie migrieren möchten (Beispiel: v1.22.0-gke.1)
    • CLUSTER_DISTRIBUTION: Der Clustertyp – eks für den Elastic Kubernetes Service von AWS, aks für den Azure Kubernetes Service oder generic für jede andere Distribution
    • KUBECONFIG_CONTEXT: der Name des Kontextes in der kubeconfig, mit dem eine Verbindung zu Ihrem Cluster hergestellt werden soll
    • KUBECONFIG_PATH: der Speicherort Ihrer kubeconfig-Datei. Wenn keine Angabe erfolgt, lautet der Standardwert ~/.kube/config.

    Der Mitgliedschaftsbezeichner ist ein String, der den angehängten Cluster eindeutig identifiziert und das Format projects/PROJECT_NUMBER/locations/global/memberships/MEMBERSHIP_ID hat. Dabei gilt:

    • PROJECT_NUMBER ist die Nummer Ihres Flotten-Hostprojekts. Sie müssen die Projektnummer angeben, zu der Ihr Cluster derzeit gehört.

    • MEMBERSHIP_ID: Dies muss die Flottenmitgliedschafts-ID Ihres vorhandenen Clusters sein. Angehängte GKE-Cluster verwenden diesen Wert als Clusternamen.

Azure Workload Identity-Support

Azure bietet WLAN-Unterstützung in der öffentlichen Vorschau. Wenn Sie dieses Feature aktivieren, wird die OIDC-Aussteller-URL Ihres Clusters geändert. Wenn Sie Ihren Cluster bereits mit einer vorherigen OIDC-URL registriert haben, können Sie nicht auf die neue URL aktualisieren, da dieses Feld derzeit nicht aktualisiert werden kann.

So beheben Sie dies:

  1. Erstellen Sie den Cluster mit aktiviertem Workload Identity neu.
  2. AKS-Cluster anhängen.
  3. Migrieren Sie Ihre Arbeitslasten zum neuen Cluster.
  4. Löschen Sie den alten Cluster.