Verbindung zum angehängten EKS-Cluster herstellen

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:

  1. Sie benötigen die neueste Version der Google Cloud CLI. Informationen zum Aktualisieren der gcloud CLI finden Sie unter gcloud components update.

  2. Achten Sie darauf, dass Sie die angehängten Clusterversionen 1.27.0-gke.5, 1.28.0-gke.2 oder höher verwenden.

  3. Konfigurieren Sie die Mitarbeiteridentitätsföderation, damit externe Nutzer oder Gruppen die GKE Attached Clusters 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. 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 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 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:

  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 automatisch oder manuell ein und wenden Sie sie an:

    • Automatische Methode: Wenn Sie beim Anhängen des Clusters im Feld --admin-users des Befehls gcloud 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.

  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 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:

  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 mit dem Namen gke-security-groups als Gruppe in der Domain Ihres Projekts, falls noch nicht vorhanden.

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

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

  5. Weisen Sie Google Groups IAM-Rollen zu:

    1. 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 oder roles/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.

    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: der 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. 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
    
  7. 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 Ihrer kubeconfig-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 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 Ihrer Cloud Identity finden Sie unter Mit Google Cloud Identity anmelden.