Von der Cloud Console aus in einem Cluster anmelden

Auf dieser Seite wird erläutert, wie Sie sich über die Google Cloud Console bei registrierten Kubernetes-Clustern außerhalb von Google Cloud anmelden.

Nachdem Sie sich bei einem registrierten Cluster angemeldet haben, können Sie den Cluster prüfen und Details zu seinen Knoten in der Cloud Console abrufen, genau wie bei einem GKE-Cluster (Google Kubernetes Engine) in Google Cloud. Sie können zwischen verschiedenen Authentifizierungsmethoden wählen, um sich je nach den Anforderungen Ihres Projekts und Ihrer Organisation bei Ihren Clustern anzumelden.

Informationen zum Herstellen einer Verbindung zu registrierten Clustern über die Befehlszeile finden Sie unter Verbindung zu registrierten Clustern mit dem Connect-Gateway herstellen und Auf Cluster mit Anthos Identity Service zugreifen.

Informationen zu registrierten Clustern

Die Registrierung von Kubernetes-Clustern für Ihre Projektflotte (früher als Projekt-Environ bezeichnet) ermöglicht die einheitliche Anzeige und Verwaltung mehrerer Cluster und ihrer Arbeitslasten, einschließlich der gemeinsamen Anzeige in der Cloud Console. Für den Aufruf von Clustern außerhalb von Google Cloud müssen Sie Anthos aktivieren.

Verwaltete Anthos-Cluster außerhalb von Google Cloud (zum Beispiel lokal oder über AWS) werden bei der Erstellung automatisch für Ihre Projektflotte registriert. Angehängte Cluster müssen manuell registriert werden. Möglicherweise möchten Sie einen Cluster auch manuell registrieren, wenn Sie ihn versehentlich abgemeldet haben oder bei einem anderen Projekt registrieren möchten. Wenn Sie einen Cluster registrieren müssen, folgen Sie der Anleitung unter Cluster registrieren.

Nachdem Sie einen Cluster registriert haben, wird er auf den GKE- und Anthos-Cluster-Seiten in der Cloud Console angezeigt. Wenn Sie weitere Details wie Knoten und Arbeitslasten für einen Cluster außerhalb von Google Cloud sehen möchten, müssen Sie sich beim Cluster anmelden und authentifizieren, wie im weiteren Verlauf dieses Leitfadens beschrieben. Cluster, für die eine Anmeldung in der Liste der Google Kubernetes Engine-Cluster erforderlich ist, zeigen ein orangefarbenes Warnsymbol an und fordern Sie auf, sich anzumelden.

Screenshot der Liste der Google Kubernetes Engine-Cluster

Weitere Informationen zu Flotten finden Sie unter Einführung in Flotten. Weitere Informationen zur Clusterregistrierung und zum Connect-Agent finden Sie in der Connect-Dokumentation.

Mit Ihrer Google Cloud-Identität anmelden

Diese empfohlene Option ermöglicht Ihnen, sich in registrierten Clustern mit derselben Google Cloud-Identität anzumelden, die Sie für Ihre Projekte und GKE-Cluster verwenden. Dabei werden Ihre Anfragen mithilfe des Connect-Dienstes an den API-Server des Clusters weitergeleitet. Weitere Informationen zur Funktionsweise des Connect-Dienstes finden Sie unter Verbindung zu registrierten Clustern mit dem Connect-Gateway herstellen.

Prüfen Sie zuerst, ob Ihr Plattformadministrator die erforderliche Einrichtung vorgenommen hat, damit Sie sich mit Ihrer Google Cloud-Identität anmelden können. Dies beinhaltet die Zuweisung aller erforderlichen Rollen und RBAC-Berechtigungen zum Aufrufen von und Authentifizieren in registrierten Clustern.

Console

So melden Sie sich mit Ihrer Google Cloud-Identität in einem Cluster an:

  1. Rufen Sie in der Cloud Console die Seite GKE-Cluster auf.

    Zu GKE-Clustern

  2. Klicken Sie in der Liste der Cluster neben dem registrierten Cluster auf Aktionen und dann auf Anmelden.

  3. Mit Google-Identität anmelden auswählen

  4. Klicken Sie auf Login.

Mit einem Inhaber-Token anmelden

Sie können sich bei registrierten Clustern mit einem Inhabertoken anmelden. Viele Arten von Inhabertokens, die unter Kubernetes-Authentifizierung aufgelistet sind, werden unterstützt. Die einfachste Methode ist das Erstellen eines Kubernetes-Dienstkontos (KSA) im Cluster und das Anmelden mit seinem Inhabertoken.

Alle Konten, die sich in einem Cluster anmelden, müssen mindestens die folgenden Kubernetes-RBAC-Rollen im Cluster enthalten:

Hinweis

Sie oder Ihr Plattformadministrator müssen für jeden registrierten Cluster den folgenden Schritt ausführen.

RBAC-Rolle cloud-console-reader erstellen und anwenden

Nutzer, die die Ressourcen Ihres Clusters in der Cloud Console aufrufen möchten, benötigen die entsprechenden Berechtigungen. Zum Definieren dieser Berechtigungen erstellen Sie im Cluster eine ClusterRole-RBAC-Ressource, cloud-console-reader.

cloud-console-reader gewährt den Nutzern der Ressource die Berechtigungen get, list und watch für die Knoten, nichtflüchtigen Volumes, Pods und Speicherklassen des Clusters, die das Aufrufen von Details zu diesen Ressourcen ermöglichen. Sie können diese ClusterRole dann an das Dienstkonto des Nutzers binden, wie im nächsten Abschnitt beschrieben.

kubectl

Führen Sie den folgenden Befehl aus, um die ClusterRole cloud-console-reader zu erstellen und anzuwenden:

cat <<EOF > cloud-console-reader.yaml
kind: ClusterRole
apiVersion: rbac.authorization.k8s.io/v1
metadata:
  name: cloud-console-reader
rules:
- apiGroups: [""]
  resources: ["nodes", "persistentvolumes", "pods"]
  verbs: ["get", "list", "watch"]
- apiGroups: ["storage.k8s.io"]
  resources: ["storageclasses"]
  verbs: ["get", "list", "watch"]
EOF
kubectl apply -f cloud-console-reader.yaml

Dienstkonto einrichten

Wir empfehlen, dass Sie oder ein Clusteradministrator für jeden Nutzer, der sich im Cluster anmeldet, ein Dienstkonto erstellen. Die Verwendung eines Inhabertokens ist mit der Verwendung eines Passworts vergleichbar, sodass jeder Nutzer sein eigenes Konto haben sollte. Wenn Sie sich mit dem Inhabertoken des KSA anmelden, werden alle Vorgänge im Namen des KSA ausgeführt und sind durch die Berechtigungen der Rollen eingeschränkt, die dem KSA erteilt wurden.

Das KSA muss mindestens die folgenden RBAC-Rollen im Cluster enthalten:

KSA erstellen und autorisieren

kubectl

So erstellen Sie ein KSA und binden Berechtigungen daran:

  1. Erstellen Sie die KSA- und ClusterRoleBinding-Ressourcen, um die Kubernetes-RBAC-ClusterRoles view und cloud-console-reader an das KSA zu binden.

    KSA_NAME=KSA_NAME
    kubectl create serviceaccount ${KSA_NAME}
    kubectl create clusterrolebinding VIEW_BINDING_NAME \
    --clusterrole view --serviceaccount default:${KSA_NAME}
    kubectl create clusterrolebinding CLOUD_CONSOLE_READER_BINDING_NAME \
    --clusterrole cloud-console-reader --serviceaccount default:${KSA_NAME}
    

    Dabei gilt:

    • KSA_NAME: Der Name, den Sie für das KSA auswählen
    • VIEW_BINDING_NAME: Der Name, den Sie für die Ressourceview ClusterRoleBinding auswählen; Sie können ihr einen beliebigen Namen geben, aber möglicherweise ist es am einfachsten, sie nach dem KSA zu benennen
    • CLOUD_CONSOLE_READER_BINDING_NAME: Der Name, den Sie für die Ressource cloud-console-reader ClusterRoleBinding auswählen; auch für diese können Sie einen beliebigen Namen verwenden
  2. Je nach dem Zugriff auf das Dienstkonto sollten Sie weitere Rollen an das KSA binden. Optionen finden Sie unter Kubernetes-Standardrollen.

    Wenn Sie beispielsweise eine Kubernetes-Anwendung aus Cloud Marketplace bereitstellen möchten, binden Sie die Rolle cluster-admin an das KSA:

    kubectl create clusterrolebinding BINDING_NAME \
    --clusterrole cluster-admin --serviceaccount default:KSA_NAME
    

    Ersetzen Sie BINDING_NAME durch den Namen der Clusterrollenbindung für das Dienstkonto.

Andere Konten autorisieren

kubectl

Für alle anderen Nutzer oder Dienstkonten, die Zugriff auf den Cluster erhalten, erstellen Sie ClusterRoleBinding-Ressourcen, um die Rollen view und cloud-console-reader an ihr Konto zu binden:

  1. Binden Sie die ClusterRoles view undcloud-console-reader:

    ACCOUNT_NAME=ACCOUNT_NAME
    kubectl create clusterrolebinding VIEW_BINDING_NAME \
    --clusterrole view --serviceaccount default:${ACCOUNT_NAME}
    kubectl create clusterrolebinding CLOUD_CONSOLE_READER_BINDING_NAME \
    --clusterrole cloud-console-reader --serviceaccount default:${ACCOUNT_NAME}
    

    Dabei gilt:

    • ACCOUNT_NAME: Das Kubernetes-Dienstkonto
    • VIEW_BINDING_NAME: Der Name, den Sie für die Ressource view ClusterRoleBinding auswählen; Sie können ihr einen beliebigen Namen geben, aber möglicherweise ist es am einfachsten, sie nach dem Nutzer oder Dienstkonto zu benennen
    • CLOUD_CONSOLE_READER_BINDING_NAME: Der Name, den Sie für die Ressource view ClusterRoleBinding auswählen; auch für diese können Sie einen beliebigen Namen verwenden
  2. Binden Sie zusätzliche Rollen, je nach dem, welchen Zugriff das Konto haben soll. Optionen finden Sie unter Kubernetes-Standardrollen.

    Führen Sie beispielsweise den folgenden Befehl aus, um die Rolle cluster-admin zu binden:

    kubectl create clusterrolebinding BINDING_NAME \
    --clusterrole cluster-admin --serviceaccount default:ACCOUNT_NAME
    

    Ersetzen Sie BINDING_NAME durch den Namen der Clusterrollenbindung für das Dienstkonto.

Inhabertoken des KSA abrufen

kubectl

Mit dem folgenden Befehl erhalten Sie das Inhabertoken des KSA:

SECRET_NAME=$(kubectl get serviceaccount KSA_NAME -o jsonpath='{$.secrets[0].name}')
kubectl get secret ${SECRET_NAME} -o jsonpath='{$.data.token}' | base64 --decode

Ersetzen Sie KSA_NAME durch den Namen, den Sie für das KSA ausgewählt haben.

Kopieren Sie das Token aus der Ausgabe dieses Befehls und speichern Sie es zur Verwendung im nächsten Abschnitt.

Bei einem Cluster anmelden

Console

So melden Sie sich mit einem Token in einem Cluster an:

  1. Rufen Sie in der Cloud Console die Seite GKE-Cluster auf.

    Zu GKE-Clustern

  2. Klicken Sie in der Liste der Cluster neben dem registrierten Cluster auf Aktionen und dann auf Anmelden.

  3. Wählen Sie Token aus und tragen Sie im Feld Token das Inhabertoken des KSA ein.

  4. Klicken Sie auf Login.

Mit einfacher Authentifizierung anmelden

Console

So melden Sie sich bei einem Cluster mithilfe der Basisauthentifizierung an:

  1. Rufen Sie in der Cloud Console die Seite GKE-Cluster auf.

    Zu GKE-Clustern

  2. Klicken Sie in der Liste der Cluster neben dem registrierten Cluster auf Aktionen und dann auf Anmelden.

  3. Wählen Sie Basisauthentifizierung aus und füllen Sie dann die Felder Nutzername und Passwort aus.

  4. Klicken Sie auf Login.

Mit OpenID Connect (OIDC) anmelden

Wenn Ihr Cluster für die Verwendung eines OIDC-Identitätsanbieters konfiguriert ist, können Sie diese zur Authentifizierung beim Cluster über die Cloud Console verwenden. In den folgenden Anleitungen erfahren Sie, wie Sie OIDC für Anthos-Cluster einrichten:

Console

So melden Sie sich mit OIDC in einem konfigurierten Cluster an:

  1. Rufen Sie in der Cloud Console die Seite GKE-Cluster auf.

    Zu GKE-Clustern

  2. Klicken Sie in der Liste der Cluster neben dem registrierten Cluster auf Aktionen und dann auf Anmelden.

  3. Mit dem Identitätsanbieter authentifizieren, der für den Cluster konfiguriert wurde auswählen. Sie werden zu Ihrem Identitätsanbieter weitergeleitet. Dort müssen Sie sich möglicherweise anmelden oder dem Zugriff der Cloud Console auf Ihr Konto zustimmen.

  4. Klicken Sie auf Login.

Nächste Schritte