Flottenressourcen planen

Wie Sie in der Übersicht zur Flottenverwaltung erfahren haben, sind Flotten ein Gruppierungsmechanismus zum Verwalten, Konfigurieren und Schützen von Kubernetes-Clustern im großen Maßstab. Flotten sind ein leistungsstarkes Tool, mit dem sich wiederholte Vorgänge in einer Multi-Cluster-Umgebung vermeiden lassen. Außerdem bieten sie Konsistenz und umfassende Beobachtbarkeit für große Clustergruppen. Einige GKE Enterprise-Funktionen sind nur über eine Flotte verfügbar.

Die Gruppierungsstrategie, die Sie zum Erstellen von Flotten verwenden, kann je nach den technischen und geschäftlichen Anforderungen Ihres Unternehmens variieren. Eine Organisation kann Cluster beispielsweise nach der Art der darin ausgeführten Anwendungen gruppieren, während eine andere sie nach Region, Umgebung oder anderen relevanten Faktoren gruppiert. Wenn alles andere gleich ist, ist es praktisch, wenn Sie so wenige Flotten wie nötig in Ihrer Organisation haben.

Dieser Leitfaden richtet sich an Cloud-Architekten, die mit Flotten in ihren Organisationen beginnen möchten. Er enthält praktische Anleitungen zum Organisieren Ihrer Cluster in Flotten, darunter:

  • Wenn Sie völlig neue Cluster erstellen möchten.
  • Wenn Sie Flotten mit vorhandenen Clustern erstellen möchten.

Die hier beschriebenen Muster funktionieren für viele Organisationen, sind jedoch nicht die einzige Möglichkeit, Flotten zu planen. Flotten sind flexibel und Sie können für Ihre Cluster ein anderes Gruppierungsmuster verwenden.

Bevor Sie diesen Leitfaden lesen, sollten Sie mit den Konzepten in der Übersicht zur Flottenverwaltung vertraut sein. Außerdem wird davon ausgegangen, dass Sie mit den grundlegenden Kubernetes-Konzepten und der Google Cloud-Ressourcenhierarchie vertraut sind.

Einschränkungen für Flotten und Ressourcen

Beim Erstellen von Flotten gelten die folgenden allgemeinen Einschränkungen:

  • Einem gegebenen Google Cloud-Projekt kann nur eine einzige Flotte (oder keine Flotten) zugeordnet sein, wobei diese Flotte Cluster aus mehreren Projekten enthalten kann. Das mit einer Flotte verknüpfte Projekt wird als Flotten-Hostprojekt der Flotte bezeichnet.
  • Cluster können jeweils nur Mitglied einer einzelnen Flotte sein.
  • Das Standardlimit für die Anzahl der Cluster in einer Flotte beträgt 250. Sie können jedoch bei Bedarf ein höheres Limit anfordern.

Es kann aus vielen Gründen praktisch sein, mehrere Cluster im selben Projekt zu platzieren. Beachten Sie jedoch die folgenden Einschränkungen, wenn Sie planen, welche Cluster Sie in einem Projekt zusammenstellen möchten:

Allgemeine Grundsätze

Die folgenden allgemeinen Fragen sollten Sie sich stellen, wenn Sie entscheiden, ob Sie Cluster in einer Flotte gruppieren möchten. In den folgenden Abschnitten wird näher erläutert, wie diese Bedingungen zutreffen.

  • Sind die Ressourcen miteinander verbunden?
    • Ressourcen mit einem hohen Maß an dienstübergreifender Kommunikation profitieren am meisten von der gemeinsamen Verwaltung in einer Flotte.
    • Ressourcen in derselben Bereitstellungsumgebung (z. B. Ihre Produktionsumgebung) sollten in einer Flotte zusammen verwaltet werden.
  • Wer verwaltet die Ressourcen?
    • Eine einheitliche (oder zumindest als vertrauenswürdig eingestufte) Kontrolle der Ressourcen ist entscheidend für die Garantie der Integrität der Flotte.

Flotten für neue Cluster planen

In diesem Abschnitt wird beschrieben, wie Sie Flotten planen, wenn Sie eine bestimmte Anzahl von Anwendungen haben, aber flexibel sind, an welcher Stelle diese Anwendungen bereitgestellt werden. Das kann daran liegen, dass Sie diese Anwendungen noch nicht entwickelt haben oder sie von einer anderen Containerplattform migrieren. Alternativ werden Anwendungen möglicherweise bereits in vorhandenen Clustern ausgeführt, sind aber offen, Anwendungen in neue Cluster zu verschieben, um eine bevorzugte Architektur zu erreichen.

Nachdem die Flotten identifiziert wurden, können Sie ein neues Projekt pro Flotte erstellen, eine Flotte in jedem Projekt erstellen und Cluster bei der gewünschten Flotte erstellen und registrieren.

Arbeitslasten prüfen

Beginnen Sie mit einer Liste aller Kubernetes-Arbeitslasten (z. B. Deployments), die Sie bereitstellen möchten. Dies muss keine Literalliste sein. eine Vorstellung davon, welche Arbeitslasten Sie benötigen. Führen Sie dann die Schritte im Rest dieses Abschnitts aus, um diese Gruppe von Anwendungen nach und nach in Teilmengen zu unterteilen, bis Sie die erforderliche Mindestanzahl an Gruppierungen haben. Dadurch wird definiert, welche Flotten und Cluster Sie benötigen.

Geschäftsbereiche berücksichtigen

Ihre Organisation verfügt möglicherweise über eine föderierte IT-Struktur mit einem zentralen IT-Team für die Organisation sowie separaten IT-Teams für jede Geschäftseinheit. In diesem Fall möchte jedes föderierte IT-Team möglicherweise seine eigenen Flotten verwalten. Verwenden Sie separate Flotten, wenn die Arbeitslasten zweier Geschäftseinheiten (z. B. Auditing und Handel bei einer Bank) aus regulatorischen Gründen nicht miteinander kommunizieren können.

Arbeitslasten nach Umgebung trennen

Ein gängiges Muster, das für viele Organisationen funktioniert, besteht darin, Cluster nach Umgebung zu gruppieren. Eine typische Konfiguration umfasst drei Hauptumgebungen: Entwicklungs-, Nicht-Produktions- (oder Staging-) und Produktionsumgebung. Anwendungsänderungen werden in der Regel schrittweise in jeder Umgebung in der Liste bereitgestellt (oder hochgestuft). Aus diesem Grund haben Sie in jeder Umgebung separate Bereitstellungen für dieselbe zugrunde liegende Anwendung, z. B. denselben Basiscontainer-Image-Namen. Ein Beispiel für das Erstellen von Umgebungen in Ihrer Organisation finden Sie im Blueprint zu Unternehmensgrundlagen.

Eine Flotte sollte nur Cluster aus einer einzigen Umgebung enthalten. Drei Umgebungen mit einer Flotte in jeder Umgebung reichen für viele Organisationen aus. Im Blueprint für Unternehmensanwendungen finden Sie ein Beispiel, bei dem jede Umgebung eine Flotte hat und wie Anwendungen schrittweise bereitgestellt werden können.

Redundante Arbeitslastinstanzen kombinieren

Wenn eine Anwendung Hochverfügbarkeit benötigt, wird sie nach einem Muster in zwei oder mehr Regionen ausgeführt. Dabei werden in zwei oder mehr Clustern sehr ähnlich konfigurierte Bereitstellungen ausgeführt, die als Einheit verwaltet werden. Häufig haben sie einen Load-Balancer, der die Anwendungsinstanzen in allen Clustern umfasst, oder sie verwenden das DNS-Load-Balancing.

In diesen Szenarien platzieren Sie alle Cluster in derselben Flotte. Cluster in verschiedenen Regionen müssen sich normalerweise nicht in separaten Flotten befinden, es sei denn, dies ist aus regulatorischen oder anderen Gründen erforderlich.

Flotten mit vorhandenen Clustern planen

In diesem Abschnitt wird beschrieben, wie Sie Flotten planen, wenn Arbeitslasten auf vorhandenen Clustern ausgeführt werden, und Sie diese nicht verschieben möchten. Diese Cluster können sich in oder außerhalb von Google Cloud befinden. In diesem Szenario besteht das Ziel darin, mehrere Flotten in Ihrer Organisation zu erstellen und ihnen vorhandene Cluster zuzuweisen.

Nachdem Sie die Flotten identifiziert haben, können Sie pro Flotte ein neues Projekt erstellen, in jedem Projekt eine Flotte erstellen und Cluster bei der gewünschten Flotte registrieren.

Cluster prüfen

Beginnen Sie mit einer Liste aller Kubernetes-Cluster in Ihrer Organisation. Mit Cloud Asset Inventory können Sie in Ihrer Organisation nach Kubernetes-Clusterressourcen suchen.

Sie können dann die Schritte im Rest dieses Abschnitts ausführen, um diese Gruppe von Anwendungen schrittweise in Untergruppen aufzuteilen, bis Sie die erforderlichen minimalen Gruppierungen haben. Daraus ergibt sich, welche Flotten Sie benötigen.

Geschäftsbereiche berücksichtigen

Ihre Organisation verfügt möglicherweise über eine föderierte IT-Struktur mit einem zentralen IT-Team für die Organisation sowie separaten IT-Teams für jede Geschäftseinheit. Diese IT-Teams pro Geschäftseinheit haben möglicherweise Ihre vorhandenen Cluster erstellt. In der Regel partitionieren Sie die Cluster nach Geschäftseinheit. Ein Beispiel: Die Arbeitslasten bestimmter Geschäftsbereiche (z. B. Auditing und Handel bei einer Bank) können aus regulatorischen Gründen nicht miteinander kommunizieren.

Wenn Geschäftseinheiten nur zu Kostenrechnungszwecken existieren, aber ein gemeinsames IT-Team nutzen, sollten Sie ihre Cluster in einer einzigen Flotte zusammenführen. Dies gilt insbesondere, wenn es zwischen den Geschäftseinheiten erhebliche Abhängigkeiten zwischen den Diensten gibt.

Cluster nach Umgebung gruppieren

Ermitteln Sie, welche Umgebungen in Ihrer Organisation verwendet werden. Typische Umgebungsnamen sind „dev“, „non-production“ (oder „staging“) und „prod“.

Wenn sich jeder Cluster nur in einer Ihrer Umgebungen befindet, trennen Sie die Liste der Cluster nach Umgebung. Wenn einige Cluster jedoch Arbeitslasten enthalten, die logisch zu verschiedenen Umgebungen gehören, empfehlen wir, die Anwendungen in Clustern neu bereitzustellen, die nur Anwendungen enthalten, die zu einer einzigen logischen Umgebung gehören.

Anzahl der Clusterinhaber minimieren

Wenn Sie vorhandene Projekte zu einer Flotte kombinieren, gibt es möglicherweise verschiedene Nutzer, die als Administratoren für diese Cluster autorisiert sind. Dabei werden sowohl die IAM-Richtlinien (container.admin) als auch die RBAC-Richtlinien (admin ClusterRoleBinding) berücksichtigt. Wenn Sie Features verwenden möchten, die Gleichheit erfordern, sollte das Ziel darin bestehen, dass alle Cluster dieselbe Gruppe von Administratoren haben und dass eine kleine Gruppe von Administratoren für die Flotte vorhanden ist. Wenn Cluster unterschiedliche Administratoren haben müssen und Sie Funktionen verwenden möchten, die Einheitlichkeit erfordern, gehören sie wahrscheinlich nicht zur selben Flotte.

Wenn Cluster C1 und C2 beispielsweise unterschiedliche Administratoren haben, die sich nicht gegenseitig vertrauen und nicht bereit sind, Administratorberechtigungen für ein zentrales Plattformteam freizugeben, das Flotten verwaltet, sollten sie nicht in einer Flotte zusammengefasst werden.

Weitere Informationen zur Gleichheit und zu den Funktionen, die sie erfordern, finden Sie unter Funktionsweise von Flotten.

Flottenfeatures berücksichtigen

Unabhängig davon, ob Sie mit neuen oder vorhandenen Clustern arbeiten, können die von Ihnen ausgewählten Flottenfunktionen auch die optimale Organisation Ihrer Flotte beeinflussen. Wenn Sie beispielsweise die standortübergreifende Workload Identity-Föderation verwenden möchten, sollten Sie Ihre Flotten so organisieren, dass das Risiko bei der Einrichtung der standortübergreifenden Arbeitslastauthentifizierung minimiert wird. Wenn Sie Cloud Service Mesh verwenden möchten, müssen bestimmte Cluster möglicherweise in derselben Flotte sein. Wenn Sie Virtual Private Cloud (VPC) verwenden, ist für einige Funktionen die Verwendung einer einzelnen VPC pro Flotte erforderlich.

Weitere Informationen zur Verwendung von Flottenfunktionen sowie deren Anforderungen und Einschränkungen finden Sie im nächsten Leitfaden dieser Reihe, Flottenfunktionen planen.

VPC-Perimeter in Betracht ziehen

Ein weiteres Problem, das sowohl für neue als auch für vorhandene Cluster berücksichtigt werden muss, ist, ob Sie eigene private Netzwerke in Google Cloud mit Virtual Private Cloud (VPC) erstellt haben oder erstellen möchten. Cluster innerhalb eines VPC-Perimeters (z. B. in einer freigegebenen VPC mit VPC Service Controls) können sich zusammen in einer Flotte befinden. Wenn Sie sowohl eingeschränkte als auch uneingeschränkte freigegebene VPCs haben, sollten Sie diese in separate Flotten einteilen.

Wenn Sie VPC Service Controls-Perimeter verwenden möchten, befinden sich in der Regel einige Workloads innerhalb und einige außerhalb des Perimeters. Sie sollten in jeder Umgebung (oder zumindest für die Produktion und die Umgebung unmittelbar vor der Produktion) VPC Service Controls- und Nicht-VPC Service Controls-Versionen jeder Flotte planen.

Beachten Sie bei der Planung von Flotten mit VPCs, dass einige Funktionen der Flotte bestimmte VPC-Anforderungen haben, z. B. dass sich alle Cluster, die sie verwenden, im selben VPC-Netzwerk befinden müssen.

Nächste Schritte