Verbindung zu registrierten Clustern mit dem Connect-Gateway

Flotten (ehemals Environs) in Google Cloud sind logische Gruppen von Kubernetes-Clustern und anderen Ressourcen, die zusammen verwaltet und durch die Registrierung von Clustern in Google Cloud mit Connect erstellt werden können. Das Connect-Gateway basiert auf den leistungsstarken Flotten, mit denen Anthos-Nutzer eine Verbindung zu registrierten Anthos-Clustern einfach, konsistent und sicher herstellen und ausführen können, unabhängig davon, ob sich diese Cluster in Google Cloud oder anderen öffentlichen Clouds befinden oder auch lokal. Das Connect-Gateway vereinfacht die Automatisierung der DevOps-Prozesse über alle Cluster hinweg.

In diesem Leitfaden wird davon ausgegangen, dass Sie mit einigen grundlegenden Konzepten von Flotten und mit der Registrierung von Clustern in Google Cloud vertraut sind. Ist dies nicht der Fall, finden Sie weitere Informationen im Flotten-Leitfaden und unter Cluster registrieren. Sie sollten außerdem mit den Tools und Konzepten von Kubernetes vertraut sein, einschließlich kubectl, client-go (wenn Sie das Gateway für Automatisierungszwecke verwenden möchten), rollenbasierte Zugriffssteuerung (Role-Based Access Control, RBAC) und Kubernetes-Kernressourcen.

Allgemeine Informationen zum Arbeiten mit mehreren Clustern in Anthos und Google Cloud finden Sie unter Multi-Cluster-Verwaltung.

Das Connect Gateway authentifiziert sich über Ihre Google-ID bei Clustern. Wie Sie stattdessen die IDs Ihres vorhandenen OICD-Identitätsanbieters verwenden, erfahren Sie unter Anthos Identity Service einführen.

Vorteile des Connect-Gateways

Für die Verwaltung von Arbeitslasten gibt es viele Herausforderungen, wenn Ihre Cluster in mehreren Cloud- und Hybridumgebungen ausgeführt werden. Cluster können in verschiedenen Virtual Private Clouds (VPCs) ausgeführt werden und nutzen verschiedene Identitätsanbieter. Die Verbindung, die Authentifizierung und die Autorisierung werden dadurch komplizierter. Manchmal ist es schwierig, herauszufinden, welche Cluster in diesen Umgebungen vorhanden sind.

Das Connect-Gateway bietet folgende Vorteile:

  • Finden Sie durch eine einfache Abfrage heraus, welche Cluster in Google Cloud, in einer anderen öffentlichen Cloud oder lokal vorhanden und für Ihre Flotte registriert sind.
  • Verwenden Sie eine Verbindung zu einem gewünschten Cluster mit derselben Infrastruktur, die wir auch für die Anzeige registrierter Anthos-Cluster in der Cloud Console verwenden.
  • Authentifizierung: Verwenden Sie dazu dieselben Identitäten wie für Google Cloud-Dienste.
  • Autorisierung: Sorgen Sie für eine konsistente Autorisierung aller in einer Flotte registrierten Cluster.

Das Gateway authentifiziert Ihre Google Cloud-Identität und stellt die Verbindung zum API-Server des Clusters über den Connect-Dienst bereit.

Sie können über das Gateway direkt mit Clustern interagieren, indem Sie Befehlszeilentools verwenden, die kubeconfig akzeptieren, z. B. kubectl. Sie können das Gateway auch einfach mit Ihren Build-Pipelines und anderen DevOps-Automatisierung nutzen. Ein Beispiel hierfür finden Sie in unserer Anleitung In Cloud Build integrieren.

Sie können den Connect-Dienst auch verwenden, um eine Verbindung zu registrierten Clustern außerhalb von Google Cloud mit Ihrer Google Cloud-Identität in der Cloud Console herzustellen. Folgen Sie dazu der Anleitung unter Über die Cloud Console bei einem Cluster anmelden.

So gehts:

Im Folgenden wird der Ablauf dargestellt, den ein typischer Nutzer oder Dienst (z. B. eine CI-/CD-Pipeline) nach der Konfiguration verwendet, um das Connect-Gateway zu nutzen. Eine detaillierte Anleitung für Nutzer finden Sie in unserem Leitfaden zur Verwendung.

  1. Der Nutzer oder Dienst erkennt Cluster, indem er Flottenmitgliedsressourcen mit dem gcloud-Befehlszeilentool auflistet.

    gcloud container hub memberships list
    
  2. Der Nutzer oder Dienst ruft das Connect-Gateway-spezifische kubeconfig ab, das zum Erreichen des ausgewählten Clusters erforderlich ist. Dazu wird das gcloud-Befehlszeilentool verwendet.

    gcloud container hub memberships get-credentials membership-name
    

    Wenn Sie bereits mit der Verwendung des gcloud-Befehlszeilentools mit GKE vertraut sind, können Sie gcloud container clusters get-credentials ähnlich wie die Ausführung von Google Cloud mit Ihrem Google Cloud-Konto ausführen. Damit können Sie (sofern autorisiert) auf jeden Cluster zugreifen, der in der Flotte Ihres Projekts registriert und verbunden ist.

  3. Der Nutzer oder Dienst führt seine Befehle wie gewohnt mit kubectl oder client-go aus und verwendet dabei die heruntergeladene kubeconfig-Datei.

    1. Der Nutzer/Dienst wird durch das Connect-Gateway authentifiziert und die Autorisierung wird überprüft, um sicherzustellen, dass er zur Verwendung des Gateways berechtigt ist.
    2. Die Anfrage wird über den Connect-Dienst und den Connect Agent an den entsprechenden Kubernetes API-Server weitergeleitet.
    3. Der Kubernetes API-Server autorisiert die Anfrage, die erfordert, dass der Connect-Agent berechtigt ist, die Identität des Nutzers oder Dienstes zu übernehmen, und dass der Nutzer oder Dienst berechtigt ist, die gewünschte Anfrage auszuführen.

Support für Google-Gruppen

Im beschriebenen Standardablauf aus dem vorherigen Abschnitt wird die Anfrage des Nutzers oder Dienstes anhand seiner individuellen ID autorisiert. In vielen Fällen ist es jedoch sinnvoll, Nutzer anhand der Zugehörigkeit zu Sicherheitsgruppen autorisieren zu können. Bei einer Autorisierung, die auf der Gruppenmitgliedschaft basiert, müssen Sie nicht für jedes Konto eine separate Autorisierung einrichten. Dies erleichtert die Verwaltung und Überprüfung von Richtlinien. Sie können beispielsweise problemlos den Clusterzugriff für ein Team freigeben, sodass Sie einzelne Nutzer nicht manuell zu Clustern hinzufügen oder daraus entfernen müssen, wenn diese dem Team beitreten oder es verlassen möchten. Durch einige zusätzliche Einrichtungsschritten mit dem Anthos Identity Service können Sie das Connect-Gateway so konfigurieren, dass die Mitgliedschaftsinformationen für Google Groups für den Nutzer oder Dienst abgerufen werden.

Weitere Informationen zu dieser Funktion und zur Einrichtung finden Sie unter Connect-Gateway mit Google Groups einrichten.

Latenz

Die Gesamtlatenz einer Anfrage über das Gateway kann in zwei Teile unterteilt werden: die RTT (Round Trip Time) vom Connect-Gateway-Dienst zum Connect-Agent und die Ausführungszeit der Anfrage innerhalb des Clusters. Die zusätzliche RTT-Wert beträgt p95<500ms und p99<1s. Beachten Sie, dass die meisten kubectl-Befehle eine Reihe verschiedener Anfragen ausführen, die jeweils einen Roundtrip erfordern, bevor eine Antwort an den Nutzer gerendert wird.

Nächste Schritte