Connect – Übersicht

Mit Connect können Sie jeden Ihrer Kubernetes-Cluster mit Google Cloud verbinden. Dies ermöglicht den Zugriff auf Features zur Cluster- und Arbeitslastverwaltung sowie auf die Cloud Console als einheitliche Benutzeroberfläche für die Interaktion mit Ihrem Cluster.

Wenn Ihr Netzwerk so konfiguriert ist, dass ausgehende Anfragen zugelassen werden, können Sie den Connect-Agent so konfigurieren, dass er NATs, ausgehende Proxys und Firewalls durchläuft, um eine langlebige, verschlüsselte Verbindung zwischen dem Kubernetes API-Server Ihres Clusters herzustellen und Google Cloud-Projekt zu konfigurieren. Sobald diese Verbindung aktiviert ist, können Sie Ihre eigenen Anmeldedaten verwenden, um sich bei Ihren Clustern anzumelden und auf Details zu ihren Kubernetes-Ressourcen zuzugreifen. Auf diese Weise wird die UI, die sonst nur für GKE-Cluster verfügbar ist, repliziert.

Sobald die Verbindung hergestellt ist, kann die Connect Agent-Software Kontodaten, technische Details und Metadaten über die verbundene Infrastruktur und Arbeitslasten austauschen, die für die Verwaltung mit Google Cloud erforderlich sind, einschließlich der Details zu Ressourcen, Anwendungen, und Hardware.

Diese Clusterdienstdaten sind mit Ihrem Google Cloud-Projekt und -Konto verknüpft. Google verwendet diese Daten, um eine Steuerungsebene zwischen Ihrem Cluster und Google Cloud aufrechtzuerhalten. So haben Sie Zugriff auf alle von Ihnen angeforderten Google Cloud-Dienste und -Funktionen, darunter Unterstützung sowie Support, Abrechnung, Updates und Messungen. und die Zuverlässigkeit, Qualität, Kapazität und Funktion von Connect- und Google Cloud-Diensten verbessern, die über Connect verfügbar sind.

Sie behalten die Kontrolle darüber, welche Daten über GKE Connect gesendet werden: Ihr Kubernetes API-Server stellt die Authentifizierung, die Autorisierung und das Audit-Logging aller Anfragen über GKE Connect sicher. Google und Nutzer können über GKE Connect auf Daten oder APIs zugreifen, nachdem sie vom Clusteradministrator autorisiert wurden (z. B. über RBAC). Der Clusteradministrator kann diese Berechtigung widerrufen.

Connect Agent

Connect verwendet ein Deployment mit dem Namen Connect-Agent, um eine Verbindung zwischen Ihren Clustern und Ihrem Google Cloud-Projekt herzustellen und Kubernetes-Anfragen zu verarbeiten.

IAM-Rollen verbinden

Mithilfe der Identitäts- und Zugriffsverwaltung (IAM) können Nutzer, Gruppen und Dienstkonten auf Google Cloud APIs zugreifen und Aufgaben in Google Cloud-Produkten ausführen.

Sie müssen bestimmte IAM-Rollen angeben, um den Connect-Agent zu starten und über die Google Cloud Console oder das Cloud SDK mit Ihrem Cluster zu interagieren. Diese Rollen ermöglichen keinen direkten Zugriff auf verbundene Cluster.

Mit einigen dieser Rollen können Sie auf Informationen zu Clustern zugreifen, darunter:

  • Clusternamen
  • Öffentliche Schlüssel
  • IP-Adressen
  • Identitätsanbieter
  • Kubernetes-Versionen
  • Clustergröße
  • Andere Cluster-Metadaten

Connect verwendet die folgenden IAM-Rollen:

Rollenname Rollentitel Beschreibung Berechtigungen
roles/gkehub.admin Hub-Administrator Bietet uneingeschränkten Zugriff auf Hub und zugehörige Ressourcen.

Berechtigungen für Google Cloud

  • resourcemanager.projects.get
  • resourcemanager.projects.list

Berechtigungen für Hub

  • gkehub.memberships.list
  • gkehub.memberships.get
  • gkehub.memberships.create
  • gkehub.memberships.update
  • gkehub.memberships.delete
  • gkehub.memberships.generateConnectManifest
  • gkehub.memberships.getIamPolicy
  • gkehub.memberships.setIamPolicy
  • gkehub.locations.list
  • gkehub.locations.get
  • gkehub.operations.list
  • gkehub.operations.get
  • gkehub.operations.cancel
  • gkehub.features.list
  • gkehub.features.get
  • gkehub.features.create
  • gkehub.features.update
  • gkehub.features.delete
  • gkehub.features.getIamPolicy
  • gkehub.features.setIamPolicy
roles/gkehub.viewer Hub-Betrachter Bietet Lesezugriff auf Hub und zugehörige Ressourcen.

Berechtigungen für Google Cloud

  • resourcemanager.projects.get
  • resourcemanager.projects.list

Berechtigungen für Hub

  • gkehub.memberships.list
  • gkehub.memberships.get
  • gkehub.memberships.generateConnectManifest
  • gkehub.memberships.getIamPolicy
  • gkehub.locations.list
  • gkehub.locations.get
  • gkehub.operations.list
  • gkehub.operations.get
  • gkehub.features.list
  • gkehub.features.get
  • gkehub.features.getIamPolicy
roles/gkehub.connect GKE-Connect-Agent Bietet die Möglichkeit, neue Verbindungen zwischen externen Clustern und Google herzustellen. gkehub.endpoints.connect

Mit Connect anmelden

Authentication

Mit der Google Cloud Console haben Sie drei Möglichkeiten, sich bei registrierten Clustern anzumelden:

  1. Mit der Basisauthentifizierung, bei der ein Nutzername und eine statische Kennwortdatei verwendet wird. Weitere Informationen finden Sie unter Statische Kennwortdatei.
  2. Mit einem Inhabertoken: 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.
  3. Mit einem OpenID Connect-Anbieter (OIDC)

Autorisierung

Autorisierungsprüfungen werden vom API-Server des Clusters anhand der Identität durchgeführt, die Sie bei der Authentifizierung über die Google Cloud Console verwenden.

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

Diese Rollen bieten Lesezugriff auf einen Cluster und Details zu ihren Knoten. Die Rollen bieten keinen Zugriff auf alle Ressourcen. Daher sind möglicherweise einige Funktionen der Google Cloud Console nicht verfügbar. Zum Beispiel gewähren diese Rollen keinen Zugriff auf Kubernetes-Secrets oder Pod-Logs.

Konten können andere RBAC-Berechtigungen zugewiesen werden, zum Beispiel über edit oder cluster-admin, um mehr innerhalb des Clusters zu tun. Weitere Informationen finden Sie in der RBAC.

Audit

Zugriffe über die Google Cloud Console werden auf dem API-Server des Clusters Audit-Logging protokolliert.