Azure Kubernetes Fleet Manager und Mitgliedscluster

Dieser Artikel enthält eine konzeptionelle Übersicht über Flotten, Mitgliedscluster und Hubcluster in Azure Kubernetes Fleet Manager (Flotten).

Was sind Flotten?

Eine Flottenressource fungiert als Gruppierungsentität für mehrere AKS-Cluster. Sie können sie verwenden, um mehrere AKS-Cluster als einzelne Entität zu verwalten, Aktualisierungen über mehrere Cluster hinweg zu koordinieren, Kubernetes-Ressourcen über mehrere Cluster hinweg zu verteilen und einen einzigen Glasbereich für die Verwaltung mehrerer Cluster bereitzustellen. Sie können eine Flotte mit oder ohne Hubcluster erstellen.

Eine Flotte umfasst die folgenden Komponenten:

Dieser Screenshot zeigt ein Diagramm der Flottenressource, einschließlich des Hubcluster-Agents und des Membercluster-Agents.

  • Flottenhub-Agent: Ein Kubernetes-Controller, der alle flottenbezogenen benutzerdefinierten Ressourcen (CRs) im Hubcluster erstellt und miteinander in Einklang bringt.
  • Flottenmitglied-Agent: Ein Kubernetes-Controller, der alle flottenbezogenen CRs in den Mitgliedsclustern erstellt und miteinander in Einklang bringt. Dieser Controller ruft die neuesten CRs aus dem Hubcluster ab und synchronisiert die Mietgliedcluster konsistent mit dem gewünschten Zustand.

Was sind Membercluster?

Die MemberCluster stellt eine clusterweite API dar, die innerhalb des Hubclusters eingerichtet wurde und als Darstellung eines Clusters innerhalb der Flotte dient. Diese API bietet einen zuverlässigen, einheitlichen und automatisierten Ansatz für Multiclusteranwendungen, um registrierte Cluster innerhalb einer Flotte zu identifizieren. Sie erleichtert auch Anwendungen beim Abfragen einer Liste von Clustern, die von der Flotte verwaltet werden, oder bei der Beobachtung von Clusterstatus für nachfolgende Aktionen.

Sie können Azure Kubernetes Service (AKS)-Cluster als Membercluster zu einer Flotte hinzufügen. Mitgliedscluster müssen sich im selben Microsoft Entra-Mandanten wie die Flotte befinden, sie können sich jedoch in verschiedenen Regionen, verschiedenen Ressourcengruppen und/oder anderen Abonnements befinden.

Taints

Elementcluster unterstützen die Spezifikation von Taints, die für die MemberCluster-Ressource gelten. Jedes Taintobjekt umfasst folgende Felder:

  • key: Der Schlüssel des Taints.
  • value: Der Wert des Taints.
  • effect: Die Wirkung des Taints, z. B. NoSchedule.

Sobald ein MemberCluster verfälscht ist, kann die planende Person wissen, dass der Cluster keine Ressourcen als Teil der Ressourcenverteilung aus dem Hubcluster empfangen sollte. Der NoSchedule-Effekt ist ein Signal für die planende Person, um die Planung von Ressourcen von einem ClusterResourcePlacement auf MemberCluster zu vermeiden.

Weitere Informationen finden Sie in der Upstream-Fleet-Dokumentation.

Was ist ein Hubcluster (Preview)?

Wichtig

Previewfunktionen von Azure Kubernetes Fleet Manager sind auf Self-Service-Basis per Aktivierung verfügbar. Vorschauversionen werden „wie besehen“ und „wie verfügbar“ bereitgestellt und sind von den Vereinbarungen zum Service Level und der eingeschränkten Garantie ausgeschlossen. Vorschauversionen von Azure Kubernetes Fleet Manager sind auf Best-Effort-Basis teilweise durch den Kundensupport abgedeckt. Daher sind diese Funktionen nicht für die Verwendung in der Produktion vorgesehen.

Bestimmte Szenarien von Fleet, z. B. Updateläufe, erfordern keine Kubernetes-API und erfordern daher kein Hubcluster. Fleet kann ohne Hubcluster für solche Szenarien erstellt werden. In diesem Modus fungiert Fleet nur als Gruppierungsentität im Azure Resource Manager.

Für andere Szenarien wie die Kubernetes-Ressourcenverteilung ist ein Hubcluster erforderlich. Dieses Hubcluster ist ein spezielles AKS-Cluster, dessen Lebenszyklus (Erstellung, Upgrades, Löschen) von der Flottenressource verwaltet wird. Alle Kubernetes-Objekte, die dem Hubcluster bereitgestellt werden, werden nur als Konfigurationen auf diesem Cluster gespeichert. Die Pod-Erstellung ist für dieses gesperrte Hubcluster deaktiviert. Daher lässt Fleet das Ausführen von Benutzerworkloads im Hubcluster nicht zu und ermöglicht stattdessen nur die Verwendung von Hubclustern zum Speichern von Konfigurationen, die an andere Cluster oder Konfigurationen weitergegeben werden müssen, welche die clusterübergreifende Orchestrierung steuern.

In der folgenden Tabelle sind die Unterschiede zwischen einer Flotte ohne Hubcluster und einer Flotte mit Hubcluster aufgeführt:

Featuredimension Ohne Hubcluster Mit Hubcluster (Preview)
Hubclusterhosting (Preview)
Mitgliedsclusterlimit Bis zu 100 Cluster Bis zu 20 Cluster
Clusterübergreifendes Aktualisieren der Orchestrierung
Kubernetes-Ressourcenobjektweitergabe (Preview)
Multicluster L4 Lastenausgleich (Preview)

Bei der Erstellung einer Flotte wird automatisch ein Hubcluster im selben Abonnement wie die Flotte unter einer verwalteten Ressourcengruppe namens FL_* erstellt.

Um die Zuverlässigkeit zu verbessern, werden Hubcluster gesperrt, indem alle vom Benutzer initiierten Mutationen an die entsprechenden AKS-Cluster (unter der flottenverwalteten Ressourcengruppe FL_*) und ihre zugrunde liegenden Azure-Ressourcen wie VMs (unter der AKS-verwalteten Ressourcengruppe MC_FL_*) über Azure-Ablehnungszuweisungen abgelehnt werden.

Hubcluster sind von Azure-Richtlinien ausgenommen, um unerwünschte Richtlinieneffekte auf Hubcluster zu vermeiden.

Abrechnung

Die Flottenressource ohne Hubcluster ist derzeit kostenlos. Wenn Ihre Flotte ein Hubcluster enthält, ist das Hubcluster ein Standard-AKS-Cluster, das im Flottenabonnement erstellt und von Ihnen bezahlt wird.

Häufig gestellte Fragen

Kann ich eine Flotte ohne Hubcluster in eine Flotte mit Hubcluster ändern?

Nicht während der Hubclustervorschau. Dies wird geplant, sobald Hubcluster allgemein verfügbar sind.

Nächste Schritte