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:
- 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.