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 Unternehmen müssen Teams möglicherweise bestimmte Cluster verwenden oder Arbeitslasten in allen Clustern einer Flotte ausführen. Dabei muss für jedes Team die entsprechende Zugriffssteuerung eingerichtet sein. Mit den Funktionen zur Flottenteamverwaltung können Administratoren solche Infrastrukturressourcen einfacher für Teams bereitstellen und verwalten. Dabei fungiert jedes Team als separater „Mandant“ in Ihrer Flotte. 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 von Anwendungsteams, die mehr über die Funktionen zur Flottenteamverwaltung erfahren möchten.
Flottenteamverwaltung – Übersicht
Die Flottenteamverwaltung basiert auf zwei Schlüsselkonzepten, die Administratoren eine Abstraktion auf Teamebene bieten, die sie bei der Verwaltung von Flotten verwenden können:
- 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 Google Cloud oder außerhalb Google Cloudvon Google Cloud enthalten, allerdings müssen alle Cluster derselben Flotte angehören. Ein Cluster kann mehreren Teambereichen zugeordnet sein, 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, als derselbe Namespace behandelt. Die Flottenteamverwaltung bietet jedoch eine Möglichkeit, die Kontrolle über Namespaces zu verbessern. Sie können Flotten-Namespaces in bestimmten Teambereichen erstellen und dann Teammitgliedern Zugriff darauf gewähren, aber nur auf Clustern innerhalb ihres Teambereichs. 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 mit einigen zusätzlichen Berechtigungen die Namespace-Erstellung an Teamadministratoren delegieren.
Beispiel für 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 in Cluster 1 und Cluster 2 mit dem Namespacebackendausführen kann. Sie erstellen einen Teambereich mit den beiden Clustern und definieren in diesem Bereich einen Flotten-Namespacebackend. - Das Frontend-Team besteht aus zwei Google-Gruppen:
frontend-admin@cymbalgroup.comundfrontend-dev@cymbalgroup.com. Sie entscheiden, dass das Frontend-Team Arbeitslasten in Cluster 2 und Cluster 3 mit den Namespacesfrontend-fooundfrontend-barausführen kann. Auch hier erstellen Sie einen Teambereich mit den beiden Clustern und definieren in diesem Bereich zwei Flotten-Namespaces.
Wie Sie im Diagramm sehen, können beide Teams nach der Einrichtung der Teams Cluster 2 verwenden, wobei jedes Team seine eigenen Namespaces verwendet. Außerdem 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 in 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 hätten Sie wahrscheinlich auch separate Flotten für Ihre Produktions-, Entwicklungs- und Testumgebungen. Sie würden in jeder dieser Flotten Teambereiche für das Frontend- und das Backend-Team erstellen und den Teams ihre eigenen Produktions-, Entwicklungs- und Testcluster zur Verfügung stellen. Weitere Informationen finden Sie in unseren Best Practices und Beispielen für den Flotten.
Teamfähige Funktionen
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 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 auf ihre Teambereichscluster zugreifen und dabei die speziellen Clusteranmeldedaten für das Connect-Gateway verwenden. 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, einschließlich der Verwendung von Google-Gruppen 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. Google CloudDie Flottenteamverwaltung unterstützt derzeit keine Drittanbieter von Identitäten.
Vorhandene Ressourcen
Die Flottenteamverwaltung kann auch verwendet werden, um vorhandene Namespaces und Cluster, die von den Teams Ihres Unternehmens verwendet werden, einzurichten. So können Administratoren und Teams teambasierte Funktionen mit vorhandenen Arbeitslasten verwenden. Wenn Sie einen Flotten-Namespace erstellen und in einem der Cluster, die mit dem Teambereich verknüpft sind, ein vorhandener Kubernetes-Namespace mit diesem Namen vorhanden ist, wird dieser Namespace als Instanziierung des Flotten-Namespace betrachtet und ist daher Teil des Teambereichs.
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.