Das Anhängen eines Clusters bedeutet, dass Sie ihn mit Google Cloud verbinden. Dafür registrieren Sie ihn bei der Google Cloud-Flottenverwaltung und installieren die Software des GKE-angehängten Clusters darauf.
Sie können einen Cluster über die gcloud CLI oder Terraform anhängen. Informationen zum Erstellen und Anhängen eines AKS-Clusters mit Terraform finden Sie im GitHub-Repository mit Beispielen für GKE-angehängte Cluster.
Führen Sie die folgenden Schritte aus, um mit gcloud einen AKS-Cluster anzuhängen.
Vorbereitung
Prüfen Sie, ob Ihr Cluster die Clusteranforderungen erfüllt.
Beim Anhängen des Clusters müssen Sie Folgendes angeben:
- Eine unterstützte Verwaltungsregion von Google Cloud
- Eine Plattformversion
Die Verwaltungsregion ist eine Google Cloud-Region, in der Sie den angehängten Cluster verwalten möchten. Sie können eine beliebige unterstützte Region auswählen. Es empfiehlt sich jedoch, 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. Sie können alle unterstützten Versionen mit dem folgenden Befehl auflisten:
gcloud container attached get-server-config \
--location=GOOGLE_CLOUD_REGION
Ersetzen Sie GOOGLE_CLOUD_REGION durch den Namen des Google Cloud-Standorts, von dem aus der Cluster verwaltet werden soll.
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.
AKS-Cluster anhängen
Führen Sie die folgenden Befehle aus, um Ihren AKS-Cluster an die Google Cloud-Flottenverwaltung anzuhängen:
Achten Sie darauf, dass Ihre kubeconfig-Datei einen Eintrag für den Cluster enthält, den Sie anhängen möchten:
az aks get-credentials -n CLUSTER_NAME \ -g RESOURCE_GROUP
Führen Sie diesen Befehl aus, um den kubeconfig-Kontext Ihres Clusters zu extrahieren und in der Umgebungsvariable
KUBECONFIG_CONTEXT
zu speichern:KUBECONFIG_CONTEXT=$(kubectl config current-context)
Der Befehl zum Registrieren 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)
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=aks \ --context=KUBECONFIG_CONTEXT \ --has-private-issuer \ --kubeconfig=KUBECONFIG_PATH
Ersetzen Sie Folgendes:
- CLUSTER_NAME: der Name Ihres Clusters
- GOOGLE_CLOUD_REGION: die Google Cloud-Region, aus der Ihr Cluster verwaltet werden soll
- PROJECT_NUMBER: das Flotten-Hostprojekt, bei dem der Cluster registriert werden soll
- PLATFORM_VERSION: die Plattformversion, die für den Cluster verwendet werden soll
- 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
Ersetzen Sie RESOURCE_GROUP durch die AKS-Ressourcengruppe, zu der Ihr Cluster gehört.
Die Ausgabe dieses Befehls ist die URL Ihres OIDC-Ausstellers. Speichern Sie diesen Wert zur späteren Verwendung.
Führen Sie diesen Befehl aus, um den kubeconfig-Kontext Ihres Clusters zu extrahieren und in der Umgebungsvariable
KUBECONFIG_CONTEXT
zu speichern:KUBECONFIG_CONTEXT=$(kubectl config current-context)
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=aks \ --issuer-url=ISSUER_URL \ --context=KUBECONFIG_CONTEXT \ --kubeconfig=KUBECONFIG_PATH
Ersetzen Sie Folgendes:
- CLUSTER_NAME: der Name Ihres Clusters
- GOOGLE_CLOUD_REGION: die Google Cloud-Region zum Verwalten Ihres Clusters
- PROJECT_NUMBER: das Flotten-Hostprojekt, in dem der Cluster registriert wird
- PLATFORM_VERSION: die Version der GKE-angehängten Cluster, die für den Cluster verwendet werden soll
- ISSUER_URL: die zuvor abgerufene Aussteller-URL
- KUBECONFIG_CONTEXT: Kontext in der kubeconfig-Datei für den Zugriff auf Ihren Cluster, wie zuvor extrahiert
- KUBECONFIG_PATH: Pfad zu Ihrer kubeconfig-Datei
Cloud Logging/Cloud Monitoring autorisieren
Damit GKE-angehängte Cluster Systemlogs und Messwerte erstellen und in Google Cloud hochladen 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 Google Cloud-Projekt, 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.