Anthos-Cluster auf VMware-Nutzercluster (GKE On-Prem), die mit gkectl
erstellt wurden, sind nicht für die Verwendung der GKE On-Prem API konfiguriert, die die von Google Cloud gehostete API ist, die automatisch aktiviert wird, wenn Sie Nutzercluster in der Google Cloud Console erstellen. Wenn Sie den Lebenszyklus von Nutzerclustern, die mit gkectl
erstellt wurden, in der Konsole verwalten möchten, müssen Sie den Cluster mit dem Befehl gkectl enroll cluster
konfigurieren.
Voraussetzungen
Der Nutzercluster muss die folgenden Anforderungen erfüllen:
- Version 1.11 oder höher
- Registriert bei einer Flotte, was automatisch erfolgt, wenn der Cluster ab Version 1.8 erstellt wird.
Wenn Ihre Organisation eine Zulassungsliste eingerichtet hat, mit der Traffic von Google APIs und anderen Adressen über Ihren Proxyserver geleitet werden kann, fügen Sie der Zulassungs-Liste Folgendes hinzu:
- gkeonprem.googleapis.com
- gkeonprem.mtls.googleapis.com
Nutzercluster registrieren
Führen Sie die folgenden Schritte auf Ihrer Administratorworkstation aus.
Melde dich mit deinem Google-Konto an:
gcloud auth login --no-browser
Erstellen Sie ein Dienstkonto, um
gkectl
zum Registrieren des Clusters zu autorisieren:gcloud iam service-accounts create SA_NAME \ --project SA_PROJECT_ID
Dabei gilt:
- SA_NAME durch den Namen, den Sie dem Dienstkonto geben möchten. Sie sollten einen Namen verwenden, der den Zweck des Dienstkontos beschreibt, z. B.
enrollment-sa
. - SA_PROJECT_ID ist die ID des übergeordneten Projekts Ihres Dienstkontos. Das Projekt, in dem Sie das Dienstkonto erstellen, kann dasselbe oder ein anderes Projekt sein, in dem das Dienstkonto verwendet wird.
- SA_NAME durch den Namen, den Sie dem Dienstkonto geben möchten. Sie sollten einen Namen verwenden, der den Zweck des Dienstkontos beschreibt, z. B.
Erstellen Sie einen JSON-Schlüssel für Ihr Dienstkonto:
gcloud iam service-accounts keys create SA_NAME-key.json \ --iam-account=SA_NAME@SA_PROJECT_ID.iam.gserviceaccount.com
Aktivieren Sie die GKE On-Prem API in Ihrem Hostprojekt:
gcloud services enable \ --project FLEET_PROJECT_ID \ gkeonprem.googleapis.com
Ersetzen Sie FLEET_PROJECT_ID durch die ID des Flotten-Hostprojekts. Dies muss das Cloud-Projekt sein, in dem Ihr Administrator und Ihre Nutzercluster registriert sind. Diesen Namen geben Sie im Feld gkeConnect.projectID in der Clusterkonfigurationsdatei an.
Weisen Sie Ihrem Dienstkonto die Rolle
gkeonprem.admin
zu:gcloud projects add-iam-policy-binding FLEET_PROJECT_ID \ --member "serviceAccount:SA_NAME@SA_PROJECT_ID.iam.gserviceaccount.com" \ --role "roles/gkeonprem.admin"
Richten Sie Ihre Standardanmeldedaten für Anwendungen so ein, dass das Dienstkonto verwendet wird. Dadurch wird sichergestellt, dass die gcloud CLI das zuvor erstellte Dienstkonto verwendet.
export GOOGLE_APPLICATION_CREDENTIALS=PATH_TO_SA_KEY/SA_NAME-key.json
Führen Sie den Befehl
gkectl enroll cluster
aus: Dabei gilt:- Ersetzen Sie CLUSTER_NAME durch den Namen des Nutzerclusters.
- Ersetzen Sie ADMIN_CLUSTER_KUBECONFIG durch den Pfad der
kubeconfig
-Datei Ihres Administratorclusters.
gkectl enroll cluster --cluster-name=CLUSTER_NAME \ --kubeconfig ADMIN_CLUSTER_KUBECONFIG
Wenn Sie in einem Projekt mehrere Nutzercluster registrieren möchten, können Sie dasselbe Dienstkonto und denselben Schlüssel verwenden und einfach
gkectl enroll cluster
für jeden Cluster ausführen.