Flottenteamverwaltung

Plattformadministratoren müssen im Rahmen ihrer Arbeit häufig dafür sorgen, dass Anwendungs- und Dienstteams die Infrastrukturressourcen zur Verfügung stehen, die sie zum Ausführen ihrer Arbeitslasten benötigen. Je nach Organisation müssen Teams möglicherweise bestimmte Cluster verwenden oder Arbeitslasten in jedem Cluster in einer Flotte ausführen, wobei für jedes Team die entsprechende Zugriffssteuerung eingerichtet ist. Mit den Funktionen zur Flottenteamverwaltung können Administratoren Infrastrukturressourcen wie diese für Teams bereitstellen und verwalten, wobei jedes Team als separater „Mandant“ in Ihrer Flotte fungiert. Teams können ihre Arbeitslasten ausführen und verwalten sowie Logs, Ressourcennutzung, Fehlerraten und andere Messwerte aufrufen, die alle auf ihre eigenen Cluster und Namespaces beschränkt sind.

Diese Seite richtet sich an Plattformadministratoren und Mitglieder des Anwendungsteams, die mehr über die Funktionen der Flottenteamverwaltung erfahren möchten. Funktionen zur Flottenteamverwaltung sind nur für Nutzer verfügbar, die die gesamte GKE Enterprise-Plattform aktiviert haben.

Flottenteamverwaltung – Übersicht

Die Flottenteamverwaltung basiert auf zwei Schlüsselkonzepten, die Administratoren eine Abstraktion auf Teamebene für die Verwaltung von Flotten ermöglichen:

  • Mit Teambereichen können Sie Teilmengen von Flottenressourcen auf Teambasis definieren, wobei jeder Bereich einem oder mehreren Clustern der Flottenmitglieder zugeordnet ist. Teambereiche können Cluster in oder außerhalb von Google Cloud umfassen. Alle Cluster müssen jedoch Mitglieder derselben Flotte sein. Ein Cluster kann mit mehr als einem Teambereich verknüpft werden, sodass verschiedene Teams Arbeitslasten auf demselben Cluster ausführen können.
  • Mit Flotten-Namespaces können Sie steuern, wer Zugriff auf bestimmte Namespaces innerhalb Ihrer Flotte hat. Standardmäßig werden alle Namespaces mit demselben Namen, der in Clustern in der Flotte definiert ist, so behandelt, als wären sie derselbe Namespace. Die Flottenteamverwaltung bietet jedoch eine Möglichkeit, Namespaces detaillierter zu steuern. Sie können Flotten-Namespaces in bestimmten Teambereichen erstellen und Teammitgliedern dann nur in Clustern innerhalb ihres Teambereichs Zugriff darauf gewähren. Flotten-Namespaces können auf die gleiche Weise wie jeder andere Kubernetes-Namespace in den Mitgliedsclustern im Teambereich verwendet werden. Plattformadministratoren können Flotten-Namespaces selbst erstellen oder mit einigen zusätzlichen Berechtigungen die Namespace-Erstellung an Teamadministratoren delegieren.

Beispiel für die Teamverwaltung

Angenommen, Sie sind Plattformadministrator für das Unternehmen Cymbal Group, das Ressourcen für zwei Teams in einer einzelnen Flotte einrichtet.

  • Das Backend-Team besteht aus der Google-Gruppe backend-team@cymbalgroup.com. Sie entscheiden, dass dieses Team Arbeitslasten auf Cluster 1 und Cluster 2 mit ihrem Namespace backend ausführen kann. Sie erstellen einen Teambereich mit den beiden Clustern und definieren einen backend-Flotten-Namespace innerhalb dieses Bereichs.
  • Das Frontend-Team besteht aus zwei Google Groups-Gruppen, frontend-admin@cymbalgroup.com und frontend-dev@cymbalgroup.com. Sie entscheiden, dass das Frontend-Team Arbeitslasten auf Cluster 2 und Cluster 3 unter Verwendung der Namespaces frontend-foo und frontend-bar ausführen kann. Auch hier erstellen Sie einen Teambereich mit den beiden Clustern und definieren zwei Flotten-Namespaces innerhalb dieses Bereichs.

Diagramm, das ein Beispiel von zwei Teams zeigt, die eine Flotte verwenden

Wie Sie im Diagramm sehen, können nach dem Einrichten der Teams beide Teams Cluster 2 verwenden, wobei jedes Team seine eigenen Namespaces verwendet. Darüber hinaus kann das Backend-Team seinen Namespace in Cluster 1 und das Frontend-Team seine Namespaces in Cluster 3 verwenden. Beide Teams können ihre Arbeitslasten auf den Clustern ausführen und ihre eigenen Ressourcen aufrufen, ohne das andere Team berücksichtigen zu müssen.

In jedem der Fälle geben Sie an, dass die Teamleiter (einzelner Nutzer Dana im Fall des Backend-Teams, frontend-admin Gruppenmitglieder im Fall des Frontend-Teams) admin-Zugriff auf den Teambereich haben, d. h., sie können Rollen und Rollenbindungen im Bereich erstellen, während die verbleibenden Teammitglieder editor-Zugriff haben.

Sie könnten zwar alle diese Konfiguration manuell mit kubectl oder anderen Tools einrichten, aber mit den Funktionen zur Teamverwaltung lässt sich die Onboarding des Teams einfacher gestalten. Außerdem können Administratoren und Teammitglieder zusätzliche Funktionen auf Basis der Teambereiche verwenden, z. B. auf Teambereichen basierenden Messwerte.

In der Praxis würden Sie wahrscheinlich auch separate Flotten für Ihre Produktions-, Entwicklungs- und Testumgebungen haben. Sie würden Teambereiche für die Frontend- und Backend-Teams in jeder dieser Flotten erstellen und den Teams ihre eigenen Produktions-, Entwicklungs- und Testcluster bereitstellen. Weitere Informationen finden Sie in unseren Best Practices und Beispielen für den Flotten.

Funktionen für Teams

Nachdem Teambereiche eingerichtet wurden, können Anwendungsoperatoren und Administratoren teambezogene Informationen wie Ressourcennutzung, Logs, Fehler nach Namespace und andere Messwerte aus ihrem gesamten Bereich ansehen, damit sie leichter beurteilen können, wie sie ihre Gesamt-Ressourcen nutzen, für Fehlerbehebung und mehr. Weitere Informationen finden Sie in der Teamübersicht. Teambereiche können auch für Sequenzierung von Roll-outs von upgrades verwendet werden.

Auf Teambereiche zugreifen

Wir empfehlen Teammitgliedern, mit kubectl mit den speziellen Clusteranmeldedaten für das Connect Gateway auf ihre Teambereichscluster zuzugreifen. Das Connect Gateway ist ein konsistenter, sicherer Dienst, mit dem sich Nutzer mit ihrer Google-ID bei einem beliebigen Cluster in der Flotte anmelden können. Dazu gehört auch die Verwendung von Google Groups für die Autorisierung. Obwohl dies für die Authentifizierung bei GKE-Clustern in Google Cloud nicht unbedingt erforderlich ist, bietet die Verwendung der Gateway-Anmeldedaten eine einfache, konsistente Möglichkeit, sich bei Flottenmitgliedsclustern so und auch projektübergreifend zu authentifizieren. Die Flottenteamverwaltung unterstützt derzeit keine externen Identitätsanbieter.

Vorhandene Ressourcen

Die Flottenteamverwaltung kann auch verwendet werden, um vorhandene Namespaces und Cluster „einzurichten“, die von den Teams Ihrer Organisation verwendet werden, sodass Administratoren und Teams teambasierte Features mit vorhandenen Arbeitslasten verwenden können. Wenn Sie einen Flotten-Namespace erstellen und es in einem der Cluster, die dem Teambereich zugeordnet sind, einen Kubernetes-Namespace mit diesem Namen gibt, wird dieser Namespace als Instanziierung des Flotten-Namespace und somit als Teil des Teambereichs betrachtet.

Nächste Schritte

  • Wenn Sie ein Plattformadministrator sind, folgen Sie der Anleitung unter Teams einrichten, um Teambereiche und Namespaces einzurichten, zu konfigurieren und zu verwalten.
  • Weitere Informationen zum Aufrufen von Messwerten auf Teamebene und anderer teamspezifischer Informationen finden Sie unter Teamübersicht verwenden (nur eingeschränkte Vorschau).