EKS-Cluster anhängen

Übersicht

Das Anhängen eines Clusters bedeutet, dass Sie ihn mit Google Cloud verbinden. Dazu registrieren Sie ihn bei derGoogle Cloud Flottenverwaltung und installieren die Software des GKE-angehängten Clusters darauf.

Sie können einen Cluster mit der gcloud CLI oder Terraform anhängen. Informationen zum Erstellen und Anhängen eines EKS-Clusters mit Terraform finden Sie im GitHub-Repository mit Beispielen für GKE-angehängte Cluster.

Diese Seite richtet sich an IT-Administratoren und ‑Betreiber, die Cloud-Infrastrukturen einrichten, überwachen und verwalten möchten. Weitere Informationen zu gängigen Rollen und Beispielaufgaben, auf die wir in Google Cloud -Inhalten verweisen, finden Sie unter Häufig verwendete GKE Enterprise-Nutzerrollen und -Aufgaben.

Führen Sie die folgenden Schritte aus, um einen EKS-Cluster mit gcloud anzuhängen.

Vorbereitung

Achten Sie darauf, dass Ihr Cluster die Clusteranforderungen erfüllt.

Wenn Sie Ihren Cluster anhängen, müssen Sie Folgendes angeben:

Die Verwaltungsregion ist eine Google Cloud Region, über die der angehängte Cluster verwaltet wird. Sie können eine beliebige unterstützte Region auswählen. Es wird jedoch empfohlen, die Region auszuwählen, die Ihrem Cluster geografisch am nächsten liegt. In der Verwaltungsregion werden keine Nutzerdaten gespeichert.

Die Plattformversion ist die Version der GKE-verbundenen Cluster, die in Ihrem Cluster installiert werden sollen. Mit dem folgenden Befehl können Sie alle unterstützten Versionen auflisten:

gcloud container attached get-server-config  \
  --location=GOOGLE_CLOUD_REGION

Ersetzen Sie GOOGLE_CLOUD_REGION durch den Namen desGoogle Cloud Standorts, von dem aus Sie Ihren Cluster verwalten möchten.

Plattformversionsnummerierung

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.

EKS-Cluster anhängen

So hängen Sie Ihren EKS-Cluster an die Google Cloud Flottenverwaltung an:

  1. Achten Sie darauf, dass Ihre kubeconfig-Datei einen Eintrag für den Cluster enthält, den Sie anhängen möchten:

    aws eks update-kubeconfig --region AWS_REGION \
      --name EKS_CLUSTER_NAME
    
  2. Rufen Sie die OIDC-Aussteller-URL mit dem folgenden Befehl ab:

    aws eks describe-cluster \
      --region AWS_REGION \
      --name EKS_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 später.

  3. Führen Sie diesen Befehl aus, um den kubeconfig-Kontext Ihres Clusters zu extrahieren und in der Umgebungsvariablen KUBECONFIG_CONTEXT zu speichern:

    KUBECONFIG_CONTEXT=$(kubectl config current-context)
    
  4. Verwenden Sie den Befehl gcloud container attached clusters register, um den Cluster zu registrieren:

    gcloud container attached clusters register CLUSTER_NAME \
      --location=GOOGLE_CLOUD_REGION \
      --fleet-project=PROJECT_NUMBER \
      --platform-version=PLATFORM_VERSION \
      --distribution=eks \
      --issuer-url=ISSUER_URL \
      --context=KUBECONFIG_CONTEXT \
      --kubeconfig=KUBECONFIG_PATH
    

    Ersetzen Sie:

  • AWS_REGION: die AWS-Region, in der sich Ihr EKS-Cluster befindet
  • CLUSTER_NAME: Der Name Ihres Clusters. Dieser Name kann mit EKS_CLUSTER_NAME identisch sein, den Sie in den vorherigen Schritten verwendet haben. CLUSTER_NAME muss dem RFC 1123-Standard für Labelnamen entsprechen.
  • GOOGLE_CLOUD_REGION: die Google Cloud Region, in der Sie Ihren Cluster verwalten möchten
  • PLATFORM_VERSION: die Version der GKE-angehängten Cluster, die für den Cluster verwendet werden soll
  • PROJECT_NUMBER: das Flotten-Hostprojekt, in dem der Cluster registriert wird
  • ISSUER_URL: die zuvor abgerufene Aussteller-URL
  • KUBECONFIG_CONTEXT: Kontext in der kubeconfig für den Zugriff auf den EKS-Cluster, wie zuvor extrahiert
  • KUBECONFIG_PATH: Pfad zur kubeconfig

Cloud Logging/Cloud Monitoring autorisieren

Damit an GKE angehängte Cluster Systemprotokolle und Messwerte erstellen und inGoogle Cloudhochladen können, muss dies autorisiert werden.

Führen Sie den folgenden Befehl aus, um die Kubernetes-Arbeitslastidentität gke-system/gke-telemetry-agent zum Schreiben von Logs in Google Cloud Logging und von Messwerten in Google Cloud Monitoring zu autorisieren:

gcloud projects add-iam-policy-binding GOOGLE_PROJECT_ID \
  --member="serviceAccount:GOOGLE_PROJECT_ID.svc.id.goog[gke-system/gke-telemetry-agent]" \
  --role=roles/gkemulticloud.telemetryWriter

Ersetzen Sie GOOGLE_PROJECT_ID durch die Google Cloud Projekt-ID des Clusters.

Diese IAM-Bindung gewährt Zugriff auf alle Cluster im Projekt Google Cloud , um Logs und Messwerte hochzuladen. Sie müssen ihn nur ausführen, nachdem Sie den ersten Cluster für das Projekt erstellt haben.

Das Hinzufügen dieser IAM-Bindung schlägt fehl, sofern nicht in Ihrem Google Cloud -Projekt mindestens ein Cluster erstellt wurde. Dies liegt daran, dass der Workload Identity-Pool, auf den es sich bezieht (GOOGLE_PROJECT_ID.svc.id.goog), erst beim Erstellen des Clusters bereitgestellt wird.