Verbindung zu Ihrem mit EKS angehängten Cluster herstellen

In diesem Dokument werden drei Methoden zum Herstellen einer Verbindung zu Ihrem mit EKS angehängten Cluster beschrieben:

Diese drei Methoden zum Herstellen einer Verbindung zu einem registrierten Cluster werden von einem Google-Dienst namens Connect-Gateway ermöglicht. Weitere Informationen zum Connect-Gateway finden Sie unter Verbindung zu registrierten Clustern mit dem Connect-Gateway herstellen.

Hinweise

Bevor Sie eine der Methoden ausführen, prüfen Sie, ob Sie Ihren Cluster angehängt haben. Weitere Informationen finden Sie unter EKS-Cluster anhängen.

Bevor Sie mit Methode 2 oder Methode 3 fortfahren, müssen Sie zusätzliche Voraussetzungen erfüllen. Details zu diesen Schritten finden Sie in den folgenden Abschnitten.

Bevor Sie mit Methode 2 beginnen

Wenn Sie Methode 2 zum Herstellen einer Verbindung zu Ihrem angehängten Cluster verwenden möchten, müssen folgende Voraussetzungen erfüllt sein:

  • Neueste 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 mit Methode 3 beginnen

Wenn Sie Methode 3 zum Herstellen einer Verbindung zu Ihrem angehängten Cluster verwenden möchten, müssen folgende Voraussetzungen erfüllt sein:

  1. Prüfen Sie, ob Sie die neueste Version des Google Cloud CLI haben: Informationen zum Aktualisieren der gcloud CLI finden Sie unter gcloud components update.

  2. Prüfen Sie, ob Sie die angehängten Clusterversionen 1.27.0-gke.5, 1.28.0-gke.2 oder höher verwenden.

  3. Konfigurieren Sie die Workforce Identity-Föderation, damit externe Nutzer oder Gruppen die GKE Attached Cluster API verwenden können:

  4. 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. Es ist nicht für den einfachen Zugriff auf einen Cluster erforderlich.

    Beachten Sie, dass Rollen Sammlungen von Berechtigungen sind. Wenn Sie einer Entität eine Rolle zuweisen (Nutzer, Gruppe oder Dienstkonto), erteilen Sie dieser Entität alle mit ihr verknüpften Berechtigungen.

    Nutzer

    Für einzelne Nutzer 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 Workforce Identity-Pool in Google Cloud eindeutig identifiziert. Folgen Sie beim Formatieren der ID den 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 wie alex@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 Workforce Identity-Pool in Google Cloud eindeutig identifiziert. Folgen Sie beim Formatieren der ID den 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: Verbindung als Google-Nutzer zum angehängten Cluster herstellen

So stellen Sie als Google-Nutzer eine Verbindung zu einem angehängten Cluster her:

  1. Aktivieren Sie die APIs connectgateway und cloudresourcemanager 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.

  2. Richten Sie RBAC-Regeln entweder automatisch oder manuell ein und wenden Sie sie an:

    • Automatische Methode: Wenn Sie beim Anhängen des Clusters Google-Nutzer im Feld --admin-users des Befehls gcloud container attached clusters register angegeben haben, werden diesen Nutzern automatisch Administratorberechtigungen auf dem Cluster gewährt. Sie können diesen Schritt daher überspringen.

    • Manuelle Methode: Richten Sie manuell RBAC-Regeln für einzelne Google-Nutzer ein. Erstellen Sie dazu ein Kubernetes YAML-Manifest. Weitere Informationen finden Sie unter RBAC-Autorisierung verwenden.

  3. 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 Anmeldedaten Sie für die Verbindung benötigen.

Nachdem Sie diese Schritte ausgeführt haben, können Sie als Google-Nutzer eine Verbindung zu Ihrem angehängten Cluster herstellen.

Methode 2: Verbindung zum angehängten Cluster mit Google Groups herstellen

Mit dieser Methode können Sie eine Verbindung zu einem angehängten Cluster als Mitglied einer Google-Gruppe 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 des Clusterzugriffs ist effizienter als das Erstellen separater Autorisierungen für einzelne Nutzer. Angenommen, Sie möchten der Clusteradministratorgruppe 50 Nutzer, einer Bearbeitergruppe 75 Nutzer und einer Lesergruppe 100 Nutzer hinzufügen. Für die in diesem Dokument beschriebene Methode 1 müssen Sie RBAC-Regeln in der Kubernetes-Manifestdatei für 225 Nutzer erstellen. Mit Methode 2 sparen Sie jedoch Zeit, da Sie nur RBAC-Regeln für drei Google-Gruppen erstellen müssen.

So autorisieren Sie Google Groups, eine Verbindung zu einem angehängten Cluster herzustellen:

  1. Aktivieren Sie die APIs connectgateway und cloudresourcemanager 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.

  2. Erstellen Sie eine Gruppe namens gke-security-groups als Gruppe in der Domain Ihres Projekts, falls sie noch nicht vorhanden ist.

  3. Erstellen Sie eine oder mehrere Untergruppen innerhalb der Gruppe gke-security-groups für die Clusterauthentifizierung.

  4. Fügen Sie den neu erstellten Untergruppen Nutzer hinzu.

  5. Weisen Sie IAM-Rollen für Google Groups zu:

    1. Wählen Sie eine geeignete Rolle für eine Gruppe aus. Diese Rolle bestimmt, wie die Gruppe mit dem Connect-Gateway interagiert. Die Rolle kann eine der folgenden sein: roles/gkehub.gatewayAdmin, roles/gkehub.gatewayEditor, roles/gkehub.gatewayReader. Beachten Sie, dass Sie hier keine Berechtigungen für den angehängten Cluster gewähren. Dieser Schritt erfolgt später. Hier legen Sie lediglich fest, wie Nutzer der Gruppe das Connect-Gateway bearbeiten können.

    2. 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-ID.
      • GROUP_NAME: Name der Gruppe, auf die Zugriff gewährt werden soll
      • DOMAIN: Ihre Google Workspace-Domain
      • GATEWAY_ROLE: die ausgewählte Rolle. Beispiel roles/gkehub.gatewayAdmin, roles/gkehub.gatewayEditor oder roles/gkehub.gatewayReader.
  6. Definieren Sie in einem Kubernetes-Manifest, welche Art von Berechtigung jede Google-Gruppe auf dem Cluster hat. Das folgende Manifest gewährt beispielsweise der Google-Gruppe cluster-admin-team die Rolle des 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
    
  7. Speichern Sie das Manifest in einer Datei und wenden Sie es auf den Cluster an, indem Sie den folgenden Befehl ausführen:

    kubectl apply -kubeconfig=KUBECONFIG_PATH -f FILENAME
    

    Ersetzen Sie Folgendes:

    • KUBECONFIG_PATH: Pfad zur Datei kubeconfig
    • FILENAME: der Name der von Ihnen erstellten Manifestdatei.

Nachdem Sie diese Schritte ausgeführt haben, können Nutzer, die bestimmten Google-Gruppen angehören, eine Verbindung zum angehängten Cluster herstellen. Im angegebenen Beispiel können Nutzer, die zur Google-Gruppe cluster-admin-team gehören, als Administratoren eine Verbindung zum Cluster herstellen.

Methode 3: Zugriff auf externe Identitäten beim Anhängen oder Aktualisieren eines Clusters gewähren

Methode 3 gewährt Zugriff auf externe Identitäten, wenn Sie einen Cluster anhängen oder aktualisieren.

Führen Sie die Schritte unter EKS-Cluster anhängen aus, um einen EKS-Cluster anzuhängen. Führen Sie die Schritte unter EKS-Cluster aktualisieren aus, um einen EKS-Cluster zu aktualisieren.

Wenn Sie den Befehl der gcloud CLI 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 Workforce Identity-Pool in Google Cloud eindeutig identifiziert. Folgen Sie beim Formatieren der ID den 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 wie alex@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 Cloud Identity finden Sie unter Mit Ihrer Google Cloud Identity anmelden.