In diesem Dokument werden drei Methoden zum Herstellen einer Verbindung zu Ihrem angehängten EKS-Cluster beschrieben:
- Bei Methode 1 wird eine Verbindung zum Cluster als Google-Nutzer hergestellt.
- Bei Methode 2 wird eine Verbindung zum Cluster als Mitglied einer Google-Gruppe hergestellt.
- Bei Methode 3 wird eine Verbindung zum Cluster als Nicht-Google-Nutzer oder -Gruppe hergestellt.
Diese drei Methoden zum Herstellen einer Verbindung zu einem registrierten Cluster werden von einem Google-Dienst namens Connect Gateway aktiviert. Weitere Informationen zum Connect-Gateway finden Sie unter Mit dem Connect-Gateway eine Verbindung zu registrierten Clustern herstellen.
Hinweise
Bevor Sie eine der Methoden ausführen, prüfen Sie, ob der Cluster angehängt wurde. Weitere Informationen finden Sie unter EKS-Cluster anhängen.
Bevor Sie mit Methode 2 oder 3 fortfahren, müssen Sie zusätzliche Voraussetzungen erfüllen. Details zu diesen Schritten finden Sie in den folgenden Abschnitten.
Bevor Sie beginnen: Methode 2
Wenn Sie die Methode 2 zum Herstellen einer Verbindung zum angehängten Cluster verwenden möchten, müssen die folgenden Voraussetzungen erfüllt sein:
- Die aktuelle Version der Google Cloud CLI. Informationen zum Aktualisieren der gcloud CLI finden Sie unter
gcloud components update
. - Angehängte Clusterversionen 1.26.0-gke.8, 1.27.0-gke.5, 1.28.0-gke.2 oder höher.
Bevor Sie beginnen: Methode 3
Wenn Sie die Methode 3 zum Herstellen einer Verbindung zum angehängten Cluster verwenden möchten, müssen die folgenden Voraussetzungen erfüllt sein:
Sie benötigen die neueste Version der Google Cloud CLI. Informationen zum Aktualisieren der gcloud CLI finden Sie unter
gcloud components update
.Achten Sie darauf, dass Sie die angehängten Clusterversionen 1.27.0-gke.5, 1.28.0-gke.2 oder höher verwenden.
Konfigurieren Sie die Mitarbeiteridentitätsföderation, damit externe Nutzer oder Gruppen die GKE Attached Clusters API verwenden können:
- Informationen für Azure-Nutzer finden Sie unter Mitarbeiteridentitätsföderation mit Azure AD konfigurieren.
- Informationen für Okta-Nutzer finden Sie unter Mitarbeiteridentitätsföderation mit Okta konfigurieren.
- Informationen zu Nutzern von anderen Plattformen finden Sie unter Mitarbeiteridentitätsföderation konfigurieren.
Optional: Weisen Sie Ihren externen Nutzern oder Gruppen die entsprechenden IAM-Rollen (Identity and Access Management) zu. Dieser Schritt ist nur erforderlich, wenn Sie Nutzern oder Gruppen die Möglichkeit geben möchten, Cluster zu erstellen oder zu aktualisieren. Er ist nicht einfach für den Zugriff auf einen Cluster erforderlich.
Beachten Sie, dass Rollen Sammlungen von Berechtigungen sind. Wenn Sie einer Entität (Nutzer, Gruppe oder Dienstkonto) eine Rolle zuweisen, erhält diese Entität alle Berechtigungen, die in dieser Rolle enthalten sind.
Nutzer
Einzelnen Nutzern müssen Sie die Rolle
gkemulticloud.admin
zuweisen:gcloud projects add-iam-policy-binding PROJECT_ID \ --role="roles/gkemulticloud.admin" \ --member="principal://iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/subject SUBJECT_VALUE"
Ersetzen Sie Folgendes:
PROJECT_ID
ist die ID Ihres Google Cloud-Projekts.WORKFORCE_POOL_ID
: Die ID, die Ihren Personalidentitätspool in Google Cloud eindeutig identifiziert. Beachten Sie beim Formatieren der ID die empfohlenen Richtlinien in der IAM-Dokumentation unter Abfrageparameter.SUBJECT_VALUE
: Die ID, die einen externen Nutzer eindeutig identifiziert. Die ID kann beispielsweise eine E-Mail-Adresse wiealex@cymbalgroup.com
sein.
Gruppen
Für Gruppen müssen Sie die Rolle
gkemulticloud.admin
zuweisen:gcloud projects add-iam-policy-binding PROJECT_ID \ --role="roles/gkemulticloud.admin" \ --member="principalSet://iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/group/GROUP_ID"
Ersetzen Sie Folgendes:
PROJECT_ID
ist die ID Ihres Google Cloud-Projekts.WORKFORCE_POOL_ID
: Die ID, die Ihren Personalidentitätspool in Google Cloud eindeutig identifiziert. Beachten Sie beim Formatieren der ID die empfohlenen Richtlinien in der IAM-Dokumentation unter Abfrageparameter.GROUP_ID
: eine ID, die eine externe Gruppe eindeutig identifiziert.
Weitere Informationen dazu, welche API-Rollen und -Berechtigungen für angehängte GKE-Cluster erforderlich sind, finden Sie unter API-Rollen und -Berechtigungen.
Methode 1: Als Google-Nutzer eine Verbindung zum angehängten Cluster herstellen
So stellen Sie als Google-Nutzer eine Verbindung zu einem angehängten Cluster her:
Aktivieren Sie die APIs
connectgateway
undcloudresourcemanager
mit dem folgenden Befehl:gcloud services enable --project=PROJECT_ID \ connectgateway.googleapis.com \ cloudresourcemanager.googleapis.com
Ersetzen Sie
PROJECT_ID
durch die ID Ihres Google Cloud-Projekts.Richten Sie RBAC-Regeln automatisch oder manuell ein und wenden Sie sie an:
Automatische Methode: Wenn Sie beim Anhängen des Clusters im Feld
--admin-users
des Befehlsgcloud container attached clusters register
Google-Nutzer angegeben haben, wurden diesen Nutzern automatisch Administratorberechtigungen für den Cluster gewährt. Sie können diesen Schritt daher überspringen.Manuelle Methode: Richten Sie RBAC-Regeln für einzelne Google-Nutzer manuell ein, indem Sie ein Kubernetes-YAML-Manifest erstellen. Weitere Informationen finden Sie unter RBAC-Autorisierung verwenden.
Rufen Sie mit dem folgenden Befehl eine Kubernetes-Konfigurationsdatei
kubeconfig
ab:gcloud container fleet memberships get-credentials CLUSTER_NAME
Ersetzen Sie
CLUSTER_NAME
durch den Namen des Clusters, dessen Verbindungsdaten Sie benötigen.
Nachdem Sie diese Schritte ausgeführt haben, können Sie als Google-Nutzer eine Verbindung zu dem angehängten Cluster herstellen.
Methode 2: Mit Google Groups-Gruppen eine Verbindung zum angehängten Cluster herstellen
Mit dieser Methode können Sie als Mitglied einer Google-Gruppe eine Verbindung zu einem angehängten Cluster herstellen. Mit anderen Worten: Sie gewähren einer Google-Gruppe Zugriff auf einen Cluster und alle Nutzer, die zu dieser Google-Gruppe gehören, haben Zugriff auf den Cluster.
Die Verwendung von Google Groups zum Gewähren von Clusterzugriff ist effizienter als das Erstellen separater Autorisierungen für einzelne Nutzer. Angenommen, Sie möchten der Cluster-Administratorgruppe 50 Nutzer, der Gruppe „Bearbeiter“ 75 Nutzer und der Gruppe „Leser“ 100 Nutzer hinzufügen. Bei der Methode 1, die in diesem Dokument beschrieben wird, müssen Sie in der Kubernetes-Manifestdatei RBAC-Regeln für 225 Nutzer erstellen. Mit Methode 2 sparen Sie jedoch Zeit, da Sie RBAC-Regeln nur für drei Google-Gruppen erstellen müssen.
So autorisieren Sie Google-Gruppen, eine Verbindung zu einem angehängten Cluster herzustellen:
Aktivieren Sie die APIs
connectgateway
undcloudresourcemanager
mit dem folgenden Befehl:gcloud services enable --project=PROJECT_ID \ connectgateway.googleapis.com \ cloudresourcemanager.googleapis.com
Ersetzen Sie
PROJECT_ID
durch die ID Ihres Google Cloud-Projekts.Erstellen Sie eine Gruppe mit dem Namen
gke-security-groups
als Gruppe in der Domain Ihres Projekts, falls noch nicht vorhanden.Erstellen Sie in der Gruppe
gke-security-groups
eine oder mehrere Untergruppen für die Clusterauthentifizierung.Fügen Sie den neu erstellten Untergruppen Nutzer hinzu.
Weisen Sie Google Groups IAM-Rollen zu:
Wählen Sie eine geeignete Rolle für eine Gruppe aus. Diese Rolle bestimmt, wie die Gruppe mit dem Verbindungsgateway interagiert. Folgende Rollen sind möglich:
roles/gkehub.gatewayAdmin
,roles/gkehub.gatewayEditor
oderroles/gkehub.gatewayReader
. (Hinweis: Sie erteilen hier keine Berechtigungen für den angehängten Cluster. Dieser Schritt folgt später. Hier wird nur festgelegt, wie Nutzer der Gruppe das Verbindungsgateway bearbeiten können.Führen Sie den folgenden Befehl aus, um der Gruppe die Rolle zuzuweisen:
gcloud projects add-iam-policy-binding PROJECT_ID \ --member=group:GROUP_NAME@DOMAIN \ --role=GATEWAY_ROLE
Ersetzen Sie Folgendes:
PROJECT_ID
: Ihre Google-Projekt-IDGROUP_NAME
: der Name der Gruppe, auf die Zugriff gewährt werden sollDOMAIN
: Ihre Google Workspace-DomainGATEWAY_ROLE
: die ausgewählte Rolle. Beispiel:roles/gkehub.gatewayAdmin
,roles/gkehub.gatewayEditor
oderroles/gkehub.gatewayReader
.
Legen Sie in einem Kubernetes-Manifest fest, welche Art von Berechtigung jede Google-Gruppe für den Cluster hat. Das folgende Manifest gewährt der Google-Gruppe
cluster-admin-team
beispielsweise die Rolle eines Clusteradministrators:apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: name: gateway-cluster-admin-group subjects: - kind: Group name: cluster-admin-team@example.com roleRef: kind: ClusterRole name: cluster-admin apiGroup: rbac.authorization.k8s.io
Speichern Sie das Manifest in einer Datei und wenden Sie es mit dem folgenden Befehl auf den Cluster an:
kubectl apply -kubeconfig=KUBECONFIG_PATH -f FILENAME
Ersetzen Sie Folgendes:
KUBECONFIG_PATH
: der Pfad zu Ihrerkubeconfig
-Datei.FILENAME
: der Name der von Ihnen erstellten Manifestdatei.
Nachdem Sie diese Schritte ausgeführt haben, können Nutzer, die zu bestimmten Google-Gruppen gehören, eine Verbindung zum angehängten Cluster herstellen. Im Beispiel können Nutzer, die zur Google-Gruppe cluster-admin-team
gehören, sich als Administratoren mit dem Cluster verbinden.
Methode 3: Beim Anhängen oder Aktualisieren eines Clusters Zugriff auf externe Identitäten gewähren
Methode 3 gewährt Zugriff auf externe Identitäten, wenn Sie einen Cluster anhängen oder aktualisieren.
Folgen Sie der Anleitung unter EKS-Cluster anhängen, um einen EKS-Cluster anzuhängen. Eine Anleitung zum Aktualisieren eines EKS-Clusters finden Sie unter EKS-Cluster aktualisieren.
Wenn Sie den gcloud CLI-Befehl zum Registrieren oder Aktualisieren eines Clusters ausführen, geben Sie die Parameter admin-users
und/oder admin-groups
so an:
gcloud container attached clusters [register|update] CLUSTER_NAME \
--admin-users=principal://iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/subject SUBJECT_VALUE \
--admin-groups=principalSet://iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/group/GROUP_ID
Ersetzen Sie Folgendes:
CLUSTER_NAME
: Der Name Ihres Clusters.WORKFORCE_POOL_ID
: Die ID, die Ihren Personalidentitätspool in Google Cloud eindeutig identifiziert. Beachten Sie beim Formatieren der ID die empfohlenen Richtlinien in der IAM-Dokumentation unter Abfrageparameter.SUBJECT_VALUE
: Die ID, die einen externen Nutzer eindeutig identifiziert. Die ID kann beispielsweise eine E-Mail-Adresse wiealex@cymbalgroup.com
sein.GROUP_ID
: eine ID, die eine externe Gruppe eindeutig identifiziert.
Nächste Schritte
Informationen zum Verwalten des Clusters über die Google Cloud Console mit Ihrer Cloud Identity finden Sie unter Mit Google Cloud Identity anmelden.