Anforderungen und Best Practices für Flotten

Dieser Leitfaden enthält Best Practices, praktische Überlegungen und Empfehlungen zur Implementierung von Flotten in Ihrer Organisation.

Bevor Sie diesen Leitfaden lesen, sollten Sie mit den Konzepten unter Funktionsweise von Flotten vertraut sein. Sie sollten diesen Leitfaden lesen, bevor Sie sich unsere Beispiele ansehen.

Komponentenanforderungen

Bei der Implementierung von Flotten auf der Grundlage von Flotten-fähigen GKE Enterprise- und Google Cloud-Komponenten, die Ihre Organisation verwenden möchte, sind einige Einschränkungen zu beachten. Beispielsweise unterstützen einige Komponenten die Arbeit mit Clustern, die sich nicht im Flotten-Hostprojekt befinden.

In der folgenden Tabelle sind die aktuellen Anforderungen und Einschränkungen für jede Komponente aufgeführt.

Komponente
Clustertypen
Projektanforderungen
VPC-Anforderungen
Config Sync Alle von GKE Enterprise unterstützten Cluster Keine Keine
Policy Controller Alle von GKE Enterprise unterstützten Cluster Keine
Anthos Service Mesh Siehe Unterstützte Plattformen Der Cluster muss in einer Flotte registriert sein und alle Cluster im selben Projekt müssen in derselben Flotte registriert sein. Weitere Informationen finden Sie unter Anforderungen an Anthos Service Mesh-Flotten. GKE-Cluster müssen sich im selben VPC-Netzwerk befinden.
Multi-Cluster-Ingress GKE-Cluster in Google Cloud. Ingress-Ressourcen, GKE-Cluster und Flotten müssen dasselbe Projekt haben. Ingress-Ressourcen und GKE-Cluster müssen sich im selben VPC-Netzwerk befinden.
Identitätspools für Arbeitslasten Optimiert für GKE Enterprise, GKE on Google Cloud und GKE on VMware. Mit GKE Enterprise werden andere Kubernetes-Cluster unterstützt, müssen aber manuell eingerichtet werden. Keine

Projekte und VPC-Netzwerke für Flotten organisieren

Für die Architektur von Flotten müssen Sie zwei grundlegende Ressourcen berücksichtigen: Google Cloud-Projekte und VPC-Netzwerke (Virtual Private Cloud).

Wie unter Funktionsweise von Flotten erwähnt, wird jede Flotte in einem einzelnen Projekt erstellt. Flotten sollen aber (mit den in der vorherigen Tabelle aufgeführten Einschränkungen) mit flottenfähigen Ressourcen aus dem Flottenhostprojekt, mit einem anderen Google Cloud-Projekt sowie mit anderen Cloud-Anbietern oder lokal zusammenarbeiten.

Obwohl dies in den meisten Fällen nicht explizit verhindert wird, empfehlen wir außerdem, flottenfähige Ressourcen im selben Projekt derselben Flotte hinzuzufügen; sie sollten nicht auf verschiedene Gruppen aufgeteilt werden. Das Aufteilen von Ressourcen im selben Projekt über Flotten hinweg wird als Antimuster angesehen, da die Projektgrenze strenger Schutz für Richtlinien- und Governance-Zwecke bietet.

Wenn Sie entscheiden, wie Sie flottenfähige Ressourcen in mehreren Projekten platzieren möchten, gehen Sie davon aus, dass viele Organisationen unterschiedliche Anforderungen an die Mandantenfähigkeit haben. Betrachten Sie die folgenden beiden Extreme:

  • In einigen Organisationen werden möglicherweise alle Flottenressourcen in einigen von zentral kontrollierten Projekten platziert, wodurch Namespaces zugewiesen werden können.
  • Andere Organisationen können Teams möglicherweise eigene dedizierte Cluster in den eigenen Projekten ihrer Teams zuweisen.

Im ersten Extremen ist es einfacher, die zentralisierte Governance der Ressourcen zu verwalten, aber möglicherweise zusätzliche Arbeit erforderlich, um die gewünschte Isolation zu erzielen. Im zweiten Extremfall werden diese Kompromisse rückgängig gemacht. In einigen komplexen Fällen kann Ihre Organisation sowohl gemeinsam genutzte Infrastrukturressourcen als auch dedizierte Ressourcen für separate Projekte verwenden. Unabhängig von der Vorgehensweise, in der wir im Abschnitt zur hohen Vertrauensstellung erläutert werden, ist es wichtig, das gegenseitige Vertrauen in Bezug auf die für eine Flotte registrierten Ressourcen zu wahren, um die Integrität der Flotte zu wahren.

In engem Zusammenhang mit der Projektorganisation steht die Netzwerkorganisation. Mehrere Komponenten der Flotte erfordern, wie in der Tabelle der Komponentenanforderungen dargestellt, eine spezifische Konnektivität zwischen registrierten Ressourcen in der Flotte. Im Laufe der Zeit können einige dieser Anforderungen reduziert werden. Beim Multi-Cluster-Ingress ist es jedoch beispielsweise erforderlich, dass sich Pods im selben VPC-Netzwerk und die Cluster im selben Projekt wie die Flotte befinden.

Wenn Komponenten diese anfänglichen Projekt- und VPC-Netzwerkanforderungen lockern können, gehen wir davon aus, dass die Verwendung eines freigegebenen VPC-Modells zu einer Best Practice wird, wenn Sie mehrere Projekte benötigen. In einem solchen Modell kann die Flotte im Hostprojekt des VPC-Netzwerks mit Ressourcen instanziiert werden, die von den jeweiligen Dienstprojekten registriert sind. Wenn Sie mehrere Flotten mit einer freigegebenen VPC benötigen, können Sie Projekte als Flottenhostprojekt festlegen.

Flottenressourcen hinzufügen/entfernen (Cluster)

Vorhandene flottenfähige Ressourcen können einer Flotte hinzugefügt werden. Es muss jedoch besonders darauf geachtet werden, dass Dienste nicht durch das Hinzufügen unterbrochen werden. Vor allem sollten Sie vor dem Hinzufügen der Ressource in die Flotte sicherstellen, dass die gleichen Eigenschaften und Vertrauenseigenschaften erfüllt sind. Der Flottenadministrator sollte insbesondere prüfen, wie aktive Flottenkomponenten Gleichheit verwenden. Möglicherweise müssen Sie zu konsistenten Benennungspraktiken migrieren, die Governance der Ressource vorbereiten oder möglicherweise andere Aktionen ausführen, bevor Sie die Ressource in die Flotte aufnehmen.

Das Entfernen von Ressourcen aus einer Flotte erfordert eine gewisse Sorgfalt. Beispielsweise sind Ressourcen betroffen, die aktiv Teil eines Service Mesh sind oder Teil eines Multi-Cluster-Load-Balancers sind. Zur Vorbereitung der Entfernung einer Ressource empfehlen wir, jede Komponente zu prüfen, die Sie in Ihrer Flotte aktiviert haben, sowie alle erforderlichen Schritte zum Beenden des aktiven Service Mesh-Traffics oder des externen Traffics auszuführen.

Im Zuge der Weiterentwicklung von Flotten können wir beim Hinzufügen und Entfernen von Flotten-Ressourcen weitere Hilfestellungen in der Bandbreite vornehmen.

Flottenkomponenten aktivieren oder neu konfigurieren

Die Aktivierung oder Neukonfiguration von Google Cloud- oder GKE Enterprise-Komponenten, die auf Flotten zugreifen, erfordert besondere Sorgfalt. Berücksichtigen Sie bei der Aktivierung neuer Komponenten die möglichen Nebenwirkungen, die die Aktivierung der Komponente auf allen Clustern hat. Bevor Sie beispielsweise Anthos Service Mesh aktivieren, sollten Sie nachvollziehen, welche Dienstendpunkte ressourcenübergreifend zusammengeführt werden, und dafür sorgen, dass dies das gewünschte Ergebnis ist.

Während wir das Flottenkonzept weiterentwickeln, erhalten Sie bei der Konfiguration von flottenfähigen Komponenten weitere In-Band-Anleitung.

Nächste Schritte

  • Einige hypothetische Szenarien zur Erläuterung der in diesem Leitfaden beschriebenen Überlegungen finden Sie unter Flotten-Beispiele.