Mit EKS angehängten Cluster migrieren

Die Vorgängerversion von GKE-angehängten Clustern wird als GKE-angehängte Cluster (vorherige Generation) bezeichnet. Wenn Sie von der älteren Version von GKE-angehängten Clustern zur aktuellen Generation migrieren, erhalten Sie Zugriff auf diese Funktionen, einschließlich Lebenszyklusverwaltung und Flottenregistrierung. Die Migration ist ein einmaliger Vorgang. Wenn Sie zu der aktuellen Generation von GKE-angehängten Clustern migriert sind, können Sie nicht mehr zu GKE-angehängten Clustern (vorherige Generation) zurückkehren.

Versionsnummerierung

In diesen Dokumenten wird die Version des GKE-angehängten 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 GKE-angehängte Cluster aktualisieren.

Prüfen, ob Workload Identity aktiviert ist

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

Führen Sie den folgenden Befehl aus, um zu prüfen, ob Workload Identity aktiviert ist, und suchen Sie in der Ausgabe nach einem Feld für Workload Identity:

gcloud container hub memberships describe MEMBERSHIP_NAME

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

  1. Rufen Sie mit dem folgenden Befehl die OIDC-Aussteller-URL Ihres Clusters ab:

    aws eks describe-cluster \
    --region AWS_REGION \
    --name CLUSTER_NAME \
    --query "cluster.identity.oidc.issuer" \
    --output text

    Die Ausgabe dieses Befehls ist die URL Ihres OIDC-Ausstellers. Speichern Sie diesen Wert für die spätere Verwendung.

  2. 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: der Name der Mitgliedschaft Ihres Clusters
    • KUBECONFIG_CONTEXT: Kontext in der kubeconfig-Datei für den Zugriff auf den EKS-Cluster
    • KUBECONFIG_PATH: Pfad zu Ihrer kubeconfig-Datei
    • OIDC_URL: die zuvor abgerufene OIDC-URL

Cluster migrieren

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

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

    KUBECONFIG_CONTEXT=$(kubectl config current-context)
    
  2. Führen Sie den folgenden Befehl aus, um Ihren Cluster zur aktuellen Generation von GKE-angehängten Clustern zu migrieren. Mit diesem Befehl werden die relevanten Details der Konfiguration Ihres Clusters extrahiert, Ihr Cluster bei Google Fleet Management registriert und alle erforderlichen Softwarekomponenten wie der Lebenszyklus-Agent in Ihrem Cluster installiert oder aktualisiert.

    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: der vollständig qualifizierte Mitgliedschaftsbezeichner Ihres registrierten Clusters (siehe unten)
    • PLATFORM_VERSION: die Version von GKE-angehängten Clustern, zu der 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 eine andere Verteilung
    • KUBECONFIG_CONTEXT: der Name des Kontexts in Ihrer kubeconfig mit dem Sie eine Verbindung zu Ihrem Cluster herstellen
    • KUBECONFIG_PATH: der Speicherort Ihrer kubeconfig-Datei. Wenn keine Angabe erfolgt, lautet der Standardwert ~/.kube/config.

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

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

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