Übersicht über Kubernetes-Agents mit Azure Arc-Unterstützung
Azure Arc-fähiges Kubernetes stellt eine zentralisierte, konsistente Steuerungsebene bereit, um Richtlinien, Governance und Sicherheit über Kubernetes-Cluster hinweg in verschiedenen Umgebungen zu verwalten.
Azure Arc-Agents werden in Kubernetes-Clustern bereitgestellt, wenn Sie sie mit Azure Arc verbinden. Dieser Artikel enthält eine Übersicht über diese Agents.
Bereitstellen von Agents in Ihrem Cluster
Die meisten lokalen Rechenzentren erzwingen strikte Netzwerkregeln, die eingehende Kommunikation in der Netzwerkgrenzenfirewall verhindern. Kubernetes mit Azure Arc-Unterstützung funktioniert mit diesen Einschränkungen, da keine eingehenden Ports in der Firewall erforderlich sind. Azure Arc-Agents erfordern ausgehende Kommunikation mit einer festgelegten Liste mit Netzwerkendpunkten.
Dieses Diagramm bietet eine Übersicht über die Azure Arc-Komponenten. Kubernetes-Cluster in lokalen Rechenzentren oder verschiedenen Clouds werden über die Azure Arc-Agenten mit Azure verbunden. Durch diese Verbindung können die Cluster in Azure mit Hilfe von Verwaltungstools und Azure-Diensten verwaltet werden. Auf die Cluster kann auch über Offline-Verwaltungstools zugegriffen werden.
Die folgenden allgemeinen Schritte sind zum Verbinden eines Kubernetes-Clusters mit Azure Arc erforderlich:
Erstellen Sie ein Kubernetes-Cluster auf der von Ihnen gewünschten Infrastruktur (VMware vSphere, Amazon Web Services, Google Cloud Platform oder eine durch die Cloud Native Computing Foundation (CNCF) zertifizierte Kubernetes Distribution). Der Cluster muss bereits vorhanden sein, bevor Sie ihn mit Azure Arc verbinden.
Starten Sie die Azure Arc-Registrierung für Ihren Cluster. Dieser Prozess stellt das Agent Helm-Diagramm auf dem Cluster bereit. Danach initiieren die Clusterknoten eine ausgehende Kommunikation mit der Microsoft Container Registry, indem sie die Images abrufen, die zum Erstellen der folgenden Agents im
azure-arc
-Namespace erforderlich sind:Agent Beschreibung deployment.apps/clusteridentityoperator
Kubernetes mit Azure Arc-Unterstützung unterstützt derzeit nur systemseitig zugewiesene Identitäten. clusteridentityoperator
initiiert die erste ausgehende Kommunikation. Diese erste Kommunikation ruft das von anderen Agents für die Kommunikation mit Azure verwendete MSI-Zertifikat (Managed Service Identity, Verwaltete Dienstidentität) ab.deployment.apps/config-agent
Überwacht den verbundenen Cluster auf Ressourcen zur Konfiguration der Quellcodeverwaltung, die auf den Cluster angewendet werden. Aktualisiert den Compliancezustand. deployment.apps/controller-manager
Ist ein Operator für Operatoren und koordiniert Interaktionen zwischen Azure Arc-Komponenten. deployment.apps/metrics-agent
Sammelt Metriken anderer Arc-Agents, um auf optimale Leistung zu überprüfen. deployment.apps/cluster-metadata-operator
Sammelt Clustermetadaten, einschließlich Clusterversion, Knotenanzahl und Version des Azure Arc-Agents. deployment.apps/resource-sync-agent
Synchronisiert die oben erwähnten Clustermetadaten mit Azure. deployment.apps/flux-logs-agent
Sammelt Protokolle von den bei der Konfiguration der Quellcodeverwaltung bereitgestellten Flux-Operatoren. deployment.apps/extension-manager
Installiert Erweiterungs-Helm-Diagramme und verwaltet deren Lebenszyklus. deployment.apps/kube-aad-proxy
Wird für die Authentifizierung von Anforderungen verwendet, die mithilfe von Cluster Connect an den Cluster gesendet werden. deployment.apps/clusterconnect-agent
Der Reverseproxy-Agent, der ermöglicht, dass das Cluster Connect-Feature Zugriff auf den apiserver
des Clusters bereitstellt. Optionale Komponente, die nur dann bereitgestellt wird, wenn das Cluster Connect-Feature im Cluster aktiviert ist.deployment.apps/guard
Authentifizierungs- und Autorisierungs-Webhook-Server, der für Microsoft Entra RBAC verwendet wird. Optionale Komponente, die nur dann bereitgestellt wird, wenn Azure RBAC im Cluster aktiviert ist. Sobald alle Kubernetes-Agent-Pods mit Azure Arc-Unterstützung sich im Zustand
Running
befinden, stellen Sie sicher, dass Ihr Cluster mit Azure Arc verbunden ist. Folgendes sollte angezeigt werden:- Eine Azure Arc-fähige Kubernetes-
connectedClusters
-Ressource in Azure Resource Manager. Azure verfolgt diese Ressource als Projektion des kundenseitig verwalteten Kubernetes-Clusters nach, statt das eigentliche Kubernetes-Cluster selbst nachzuverfolgen. - Clustermetadaten (wie z. B. die Kubernetes-Version, die Agent-Version und die Anzahl der Knoten) werden in der Kubernetes-Ressource mit Azure Arc-Unterstützung als Metadaten angezeigt.
- Eine Azure Arc-fähige Kubernetes-
Weitere Informationen zum Bereitstellen der Agents in einem Cluster finden Sie unter Schnellstart: Verbinden eines vorhandenen Kubernetes-Clusters mit Azure Arc.
Verschieben von Kubernetes-Clustern mit Arc-Unterstützung in Azure-Regionen
Unter bestimmten Umständen können Sie Ihre Kubernetes-Cluster mit Azure Arc-Unterstützung in eine andere Region verschieben. Beispielsweise können Sie Features oder Dienste bereitstellen, die nur in bestimmten Regionen verfügbar sind, oder Sie müssen Regionen aufgrund interner Governanceanforderungen oder wegen Kapazitätsplanungsüberlegungen ändern.
Wenn Sie ein verbundenes Cluster in eine neue Region verschieben, löschen Sie die connectedClusters
-Azure Resource Manager-Ressource in der Quellregion, und stellen Sie dann die Agents bereit, um die connectedClusters
-Ressource in der Zielregion neu zu erstellen. Für Konfigurationen der Quellcodeverwaltung, Flusskonfigurationen und Erweiterungen innerhalb des Clusters müssen Sie Details zu den Ressourcen speichern und dann die untergeordneten Ressourcen in der neuen Clusterressource neu erstellen.
Bevor Sie beginnen, stellen Sie sicher, dass Azure Arc-fähige Kubernetes-Ressourcen (Microsoft.Kubernetes/connectedClusters
) und alle erforderlichen Azure Arc-fähigen Kubernetes-Konfigurationsressourcen (Microsoft.KubernetesConfiguration/SourceControlConfigurations
, Microsoft.KubernetesConfiguration/Extensions
, Microsoft.KubernetesConfiguration/FluxConfigurations
) in der Zielregion unterstützt werden.
Führen Sie einen LIST-Befehl aus, um alle Konfigurationsressourcen im Quellcluster (dem zu verschiebenden Cluster) abzurufen, und speichern Sie den Antworttext:
- Microsoft.KubernetesConfiguration/SourceControlConfigurations
- Microsoft.KubernetesConfiguration/Extensions
- Microsoft.KubernetesConfiguration/FluxConfigurations
Hinweis
LIST/GET von Konfigurationsressourcen gibt nicht
ConfigurationProtectedSettings
zurück. In solchen Fällen besteht die einzige Möglichkeit darin, den ursprünglichen Anforderungstext zu speichern und ihn bei der Erstellung der Ressourcen in der neuen Region wiederzuverwenden.Löschen Sie die vorherige Arc-Bereitstellung aus dem zugrunde liegenden Kubernetes-Cluster.
Verbinden Sie mit Netzwerkzugriff auf das zugrunde liegende Kubernetes-Cluster das Cluster in der neuen Region.
Stellen Sie sicher, dass das verbundene Arc-Cluster in der neuen Region erfolgreich ausgeführt wird:
- Führen Sie
az connectedk8s show -n <connected-cluster-name> -g <resource-group>
aus, und stellen Sie sicher, dass der WertconnectivityStatus
Connected
ist. - Führen Sie
kubectl get deployments,pods -n azure-arc
aus, um zu überprüfen, ob alle Agents erfolgreich bereitgestellt werden.
- Führen Sie
Erstellen Sie unter Verwendung des gespeicherten Antworttexts alle Konfigurationsressourcen, die im LIST-Befehl aus dem Quellcluster im Zielcluster abgerufen wurden, erneut. Vergleichen Sie die Ergebnisse aus einer LISTE aller Konfigurationsressourcen im Zielcluster mit der ursprünglichen LIST-Antwort des Quellclusters, um dies zu bestätigen.
Nächste Schritte
- Führen Sie den Schnellstart zum Verbinden eines Kubernetes-Clusters mit Azure Arc durch.
- In den Versionshinweisen finden Sie Details zu den neuesten Agent-Versionen.
- Weitere Informationen zum Upgraden von Azure Arc-fähigen Kubernetes-Agents
- Erfahren Sie mehr über das Herstellen von Verbindungen zwischen Ihrem Cluster und einem Git-Repository als Konfigurationsressource mit Kubernetes mit Azure Arc-Unterstützung.