Clustererweiterungen

Helm-Diagramme helfen Ihnen, Kubernetes-Anwendungen zu verwalten, indem sie die Bausteine bereitstellen, die zum Definieren, Installieren und Aktualisieren der komplexesten Kubernetes-Anwendungen erforderlich sind. Die Funktion zur Clustererweiterung baut auf den Paketkomponenten von Helm auf, indem sie zusätzlich zu Ihrem Kubernetes-Cluster eine von Azure Resource Manager unterstützte Erfahrung für die Installation und Lebenszyklusverwaltung verschiedener Azure-Funktionen bietet.

Als Clusteroperator*in oder -administrator*in können Sie die Clustererweiterungsfunktion für Folgendes verwenden:

  • Installieren und Verwalten von Schlüsselverwaltungs-, Daten- und Anwendungsangeboten in Ihrem Kubernetes-Cluster.
  • Verwenden Sie Azure Policy, um die Bereitstellung von Clustererweiterungen im großen Stil in allen Clustern in Ihrer Umgebung zu automatisieren.
  • Abonnieren Von Release Trains (z. B. Vorschau oder stabil) für jede Erweiterung.
  • Einrichten automatischer Upgrades für Erweiterungen, oder Anheften an eine bestimmte Version und manuelles Upgraden der Versionen.
  • Aktualisieren von Erweiterungseigenschaften oder Löschen von Erweiterungsinstanzen.

Eine Liste aller derzeit unterstützten Erweiterungen finden Sie unter Verfügbare Erweiterungen für Azure Arc-fähige Kubernetes-Cluster.

Aufbau

Cluster extensions architecture

Die Clustererweiterungsinstanz wird als Azure Resource Manager-Erweiterungsressource (Microsoft.KubernetesConfiguration/extensions) auf der Kubernetes-Ressource mit Azure Arc-Unterstützung (von Microsoft.Kubernetes/connectedClusters dargestellt) in Azure Resource Manager erstellt. Mithilfe dieser Darstellung in Azure Resource Manager können Sie eine Richtlinie erstellen, die ermittelt, welche Kubernetes-Ressourcen mit Azure Arc-Unterstützung über eine spezifische Clustererweiterung verfügen und welche nicht. Nachdem Sie ermittelt haben, welchen Clustern die Clustererweiterungen mit den gewünschten Eigenschaftswerten fehlen, können Sie diese nicht konformen Ressourcen mit Azure Policy korrigieren.

Der in Ihrem Cluster ausgeführte config-agent verfolgt neue oder aktualisierte Erweiterungsressourcen in der Kubernetes-Ressource mit Azure Arc-Unterstützung nach. Der in Ihrem Cluster ausgeführte extensions-manager-Agent liest den Erweiterungstyp, der installiert werden muss, pullt das zugehörige Helm-Chart aus Azure Container Registry oder Microsoft Container Registry und installiert es im Cluster.

Die im Cluster ausgeführten Komponenten config-agent und extensions-manager sind für Updates von Erweiterungsinstanzen, Versionsupdates und das Löschen von Erweiterungsinstanzen zuständig. Diese Agents verwenden die systemseitig zugewiesene verwaltete Identität des Clusters, um sicher mit Azure-Diensten zu kommunizieren.

Hinweis

config-agent überprüft, ob neue oder aktualisierte Erweiterungsinstanzen auf einem Kubernetes-Cluster mit Azure Arc-Unterstützung verfügbar sind. Damit der gewünschte Zustand der Erweiterung in den Cluster gepullt werden kann, benötigen die Agents also Konnektivität. Wenn Agents keine Verbindung mit Azure herstellen können, wird die Weitergabe des gewünschten Zustands an den Cluster verzögert.

Geschützte Konfigurationseinstellungen für eine Erweiterungsinstanz werden bis zu 48 Stunden in den Kubernetes-Diensten mit Azure Arc-Unterstützung gespeichert. Wenn der Cluster während der 48 Stunden nach der Erstellung der Erweiterungsressource in Azure getrennt bleibt, geht die Erweiterung daher vom Status Pending in den Status Failed über. Um dies zu verhindern, wird empfohlen, Cluster regelmäßig online zu schalten.

Wichtig

Derzeit werden Azure Arc-fähige Kubernetes-Clustererweiterungen auf ARM64-basierten Clustern nicht unterstützt, mit Ausnahme von Flux (GitOps). Um andere Clustererweiterungen zu installieren und zu verwenden, muss der Cluster mindestens einen Knoten des Betriebssystems und des Architekturtyps linux/amd64 haben.

Erweiterungsbereich

Jeder Erweiterungstyp definiert den Bereich, in dem er im Cluster arbeitet. Erweiterungsinstallationen im Kubernetes-Cluster mit Arc-Unterstützung sind auf den Clusterbereich oder auf den Namespacebereich ausgerichtet.

Eine Clusterbereichserweiterung wird in dem Release-Namespace (release-namespace) installiert, der bei der Erweiterungserstellung angegeben wird. Normalerweise wird im Release-Namespace des Clusters nur eine einzelne Instanz der Clusterbereichserweiterung und ihrer Komponenten wie Pods, Operatoren und benutzerdefinierte Ressourcendefinitionen (Custom Resource Definitions, CRDs) installiert.

Eine Namespacebereichserweiterung kann in einem bestimmten Namespace installiert werden, der mithilfe der Eigenschaft –namespace angegeben wird. Da die Erweiterung in einem Namespacebereich bereitgestellt werden kann, können mehrere Instanzen der Namespacebereichserweiterung und ihrer Komponenten im Cluster ausgeführt werden. Jede Erweiterungsinstanz verfügt über Berechtigungen für den Namespace, in dem sie bereitgestellt wird. Mit Ausnahme von „Event Grid in Kubernetes“ sind alle oben angegebenen Erweiterungen Clusterbereichserweiterungen.

Alle derzeit verfügbaren Erweiterungen mit Ausnahme von Azure API Management in Azure Arc sind Clusterbereichserweiterungen.

Nächste Schritte