Clusterverbindungszugriff auf Azure Arc-fähige Kubernetes-Cluster

Das Feature Cluster Connect von Kubernetes mit Azure Arc-Unterstützung bietet Konnektivität mit dem apiserver des Clusters, ohne dass ein Eingangsport in der Firewall aktiviert werden muss. Ein auf dem Cluster ausgeführter Reverseproxy-Agent kann eine ausgehende Sitzung auf sichere Weise mit dem Azure Arc-Dienst starten.

Mit Cluster Connect können Entwickler von überall zum interaktiven Entwickeln und Debuggen auf ihre Cluster zugreifen. Außerdem können Clusterbenutzer und -administratoren von überall auf ihre Cluster zugreifen oder diese verwalten. Sie können auch gehostete Agents/Runner von Azure Pipelines, GitHub-Aktionen oder einen anderen gehosteten CI/CD-Dienst verwenden, um Anwendungen lokalen Clustern bereitzustellen, ohne dass selbstgehostete Agents erforderlich sind.

Aufbau

Abbildung der Clusterverbindungsarchitektur

Auf der Clusterseite führt ein Reverseproxy-Agent mit dem Namen clusterconnect-agent, der als Teil des Agent-Helm-Diagramms bereitgestellt wird, ausgehende Aufrufe an den Azure Arc-Dienst aus, um die Sitzung einzurichten.

Wenn der Benutzer az connectedk8s proxy aufruft, geschieht Folgendes:

  1. Die Binärdatei des Azure Arc-Proxys wird heruntergeladen und als Prozess auf dem Clientcomputer hochgefahren.
  2. Der Azure Arc-Proxy ruft eine kubeconfig-Datei ab, die dem Kubernetes-Cluster mit Azure Arc-Unterstützung zugeordnet ist, in dem der az connectedk8s proxy aufgerufen wird.
    • Der Azure Arc-Proxy verwendet das Azure-Zugriffstoken des Aufrufers und den Azure Resource Manager-ID-Namen.
  3. Die vom Azure Arc-Proxy auf dem Computer gespeicherte kubeconfig-Datei verweist die Server-URL auf einen Endpunkt im Azure Arc-Proxyprozess.

Wenn ein Benutzer eine Anforderung mit dieser kubeconfig-Datei sendet, geschieht Folgendes:

  1. Der Azure Arc-Proxy ordnet den Endpunkt, der die Anforderung empfängt, dem Azure Arc-Dienst zu.
  2. Der Azure Arc-Dienst leitet die Anforderung dann an den im Cluster ausgeführten clusterconnect-agent weiter.
  3. Der clusterconnect-agent übergibt die Anforderung an die kube-aad-proxy-Komponente, die die Microsoft Entra-Authentifizierung für die aufrufende Entität ausführt.
  4. Nach der Microsoft Entra-Authentifizierung verwendet kube-aad-proxy Kubernetes User impersonation (Benutzeridentitätswechsel), um die Anforderung an den apiserver des Clusters weiterzuleiten.

Nächste Schritte