Teilen über


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

Diagramm mit einer Übersicht über die Architektur der Azure Arc-fähigen Kubernetes-Agents.

Die folgenden allgemeinen Schritte sind zum Verbinden eines Kubernetes-Clusters mit Azure Arc erforderlich:

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

  2. 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.
  3. 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.

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.

  1. Führen Sie einen LIST-Befehl aus, um alle Konfigurationsressourcen im Quellcluster (dem zu verschiebenden Cluster) abzurufen, und speichern Sie den Antworttext:

    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.

  2. Löschen Sie die vorherige Arc-Bereitstellung aus dem zugrunde liegenden Kubernetes-Cluster.

  3. Verbinden Sie mit Netzwerkzugriff auf das zugrunde liegende Kubernetes-Cluster das Cluster in der neuen Region.

  4. Stellen Sie sicher, dass das verbundene Arc-Cluster in der neuen Region erfolgreich ausgeführt wird:

    1. Führen Sie az connectedk8s show -n <connected-cluster-name> -g <resource-group> aus, und stellen Sie sicher, dass der Wert connectivityStatus Connected ist.
    2. Führen Sie kubectl get deployments,pods -n azure-arc aus, um zu überprüfen, ob alle Agents erfolgreich bereitgestellt werden.
  5. 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