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 einer Flotte ausführen. Dabei muss für jedes Team eine entsprechende Zugriffssteuerung eingerichtet sein. Mit den Funktionen zur Flottenteamverwaltung können Administratoren Infrastrukturressourcen wie diese einfacher für Teams bereitstellen und verwalten. Jedes Team fungiert dabei als separater „Mandant“ in Ihrer Flotte. Teams können ihre Arbeitslasten ausführen und verwalten sowie Logs, Ressourcennutzung, Fehlerraten und andere Messwerte ansehen, die alle auf ihre eigenen Cluster und Namespaces beschränkt sind.

Diese Seite richtet sich an Plattformadministratoren und Mitglieder von Anwendungsteams, die mehr über die Funktionen zur Verwaltung von Flottenteams erfahren möchten.

Flottenteamverwaltung – Übersicht

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

  • 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 auf Google Cloud oder außerhalb Google Cloudenthalten, allerdings müssen alle Cluster derselben Flotte angehören. Ein Cluster kann mehreren Teambereichen zugeordnet werden, sodass verschiedene Teams Arbeitslasten im selben Cluster ausführen können.
  • Mit Flotten-Namespaces können Sie steuern, wer Zugriff auf bestimmte Namespaces in Ihrer Flotte hat. Standardmäßig werden alle Namespaces mit demselben Namen, die in Clustern in der Flotte definiert sind, so behandelt, als wären sie derselbe Namespace. Die Flottenteamverwaltung bietet jedoch eine Möglichkeit, Namespaces genauer zu steuern. Sie können Flotten-Namespaces in bestimmten Teambereichen erstellen und dann Teammitgliedern nur für Cluster in ihrem Teambereich Zugriff darauf gewähren. Flotten-Namespaces können auf den Mitgliedsclustern im Teambereich genauso verwendet werden wie jeder andere Kubernetes-Namespace. Plattformadministratoren können Flotten-Namespaces selbst erstellen oder die Namespace-Erstellung mit einigen zusätzlichen Berechtigungen an Teamadministratoren delegieren.

Beispiel für die Teamverwaltung

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

  • Das Backend-Team besteht aus einer Google-Gruppe, backend-team@cymbalgroup.com. Sie entscheiden, dass dieses Team Arbeitslasten auf Cluster 1 und Cluster 2 mit dem Namespace backend ausführen kann. Sie erstellen einen Teambereich, der die beiden Cluster enthält, und definieren in diesem Bereich einen Flottennamespace backend.
  • Das Frontend-Team besteht aus zwei Google-Gruppen: frontend-admin@cymbalgroup.com und frontend-dev@cymbalgroup.com. Sie entscheiden, dass das Frontend-Team Arbeitslasten auf Cluster 2 und Cluster 3 mit den Namespaces frontend-foo und frontend-bar ausführen kann. Sie erstellen wieder einen Teambereich mit den beiden Clustern und definieren zwei Flotten-Namespaces in diesem Bereich.

Diagramm mit einem Beispiel für zwei Teams, die eine Flotte verwenden

Wie im Diagramm zu sehen ist, können beide Teams nach der Einrichtung der Teams Cluster 2 verwenden. Jedes Team verwendet dabei seine eigenen Namespaces. Außerdem kann das Backend-Team seinen Namespace auf Cluster 1 und das Frontend-Team seine Namespaces auf Cluster 3 verwenden. Beide Teams können ihre Arbeitslasten auf den Clustern ausführen und ihre eigenen Ressourcen ansehen, 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 erstellen Teambereiche für die Frontend- und Backend-Teams in jeder dieser Flotten und stellen den Teams eigene Produktions-, Entwicklungs- und Testcluster zur Verfügung. 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 dazu finden Sie unter Teamübersicht verwenden. Teambereiche können auch für Sequenzierung von Roll-outs von upgrades verwendet werden.

Auf Teambereiche zugreifen

Wir empfehlen, dass Teammitglieder mit kubectl über die speziellen Clusteranmeldedaten für das Connect Gateway auf ihre Cluster im Teambereich zugreifen. Das Connect-Gateway ist ein konsistenter, sicherer Dienst, mit dem sich Nutzer mit ihren Google-IDs bei jedem 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 Cloudnicht 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 Verwaltung von Flottenteams unterstützt derzeit keine Drittanbieter-Identitätsanbieter.

Vorhandene Ressourcen

Die Flottenteamverwaltung kann auch verwendet werden, um vorhandene Namespaces und Cluster, die von den Teams Ihrer Organisation verwendet werden, zu integrieren. So können Administratoren und Teams teambasierte Funktionen mit vorhandenen Arbeitslasten nutzen. Wenn Sie einen Flotten-Namespace erstellen und in einem der Cluster, die mit dem Teambereich verknüpft sind, ein Kubernetes-Namespace mit diesem Namen vorhanden ist, wird dieser Namespace als Instanziierung des Flotten-Namespace und damit als Teil des Teambereichs betrachtet.

Nächste Schritte

  • Wenn Sie Plattformadministrator sind, folgen Sie der Anleitung unter Teams einrichten, um Teambereiche und Namespaces einzurichten, zu konfigurieren und zu verwalten.
  • Weitere Informationen finden Sie unter Teamübersicht verwenden (nur eingeschränkte Vorschau), um Messwerte auf Teamebene und andere teamspezifische Informationen aufzurufen.