Private Konnektivität für Kubernetes-Cluster mit Arc-Unterstützung mit Private Link verwenden (Vorschau)

Mit Azure Private Link können Sie Azure-Dienste über private Endpunkte sicher mit Ihrem virtuellen Netzwerk verknüpfen. Dies bedeutet, dass Sie Ihre lokalen Kubernetes-Cluster mit Azure Arc verbinden und den gesamten Datenverkehr über eine Azure ExpressRoute- oder Site-to-Site-VPN-Verbindung senden können, statt öffentliche Netzwerke zu verwenden. In Azure Arc können Sie ein Private Link-Bereichsmodell verwenden, um mehreren Kubernetes-Clustern die Kommunikation mit ihren Azure Arc-Ressourcen über einen einzigen privaten Endpunkt zu ermöglichen.

In diesem Dokument wird erläutert, wann Sie Azure Arc Private Link (Vorschau) verwenden sollten und wie Sie es einrichten.

Wichtig

Das Azure Arc-Feature Private Link befindet sich derzeit in der VORSCHAU in allen Regionen, in denen Kubernetes mit Azure Arc-Unterstützung vorhanden ist, außer in „Asien, Südosten“. Die zusätzlichen Nutzungsbestimmungen für Microsoft Azure-Vorschauen enthalten rechtliche Bedingungen. Sie gelten für diejenigen Azure-Features, die sich in der Beta- oder Vorschauversion befinden oder aber anderweitig noch nicht zur allgemeinen Verfügbarkeit freigegeben sind.

Vorteile

Private Link bietet folgende Möglichkeiten:

  • Herstellen einer privaten Verbindung mit Azure Arc ohne öffentlichen Netzwerkzugriff.
  • Sicherstellen, dass der Zugriff auf die Daten des Kubernetes-Clusters mit Azure Arc-Unterstützung nur über autorisierte private Netzwerke erfolgt.
  • Verhindern der Datenexfiltration aus Ihren privaten Netzwerken, indem Sie bestimmte Kubernetes-Cluster mit Azure Arc-Unterstützung und andere Ressourcen für Azure-Dienste wie Azure Monitor bestimmen, die über Ihren privaten Endpunkt eine Verbindung herstellen.
  • Sicheres Verbinden Ihres privaten lokalen Netzwerks mit Azure Arc über ExpressRoute und Private Link.
  • Kapseln des gesamten Datenverkehrs innerhalb des Microsoft Azure-Backbonenetzwerks.

Weitere Informationen finden Sie unter Hauptvorteile von Azure Private Link.

Funktionsweise

Der Private Link-Bereich in Azure Arc verbindet private Endpunkte (und die virtuellen Netzwerke, in denen Sie enthalten sind) mit einer Azure-Ressource, in diesem Fall Azure Arc-fähige Kubernetes-Cluster. Wenn Sie eine Arc-fähige Kubernetes-Clustererweiterung aktivieren, kann für diese Szenarien eine Verbindung mit anderen Azure-Ressourcen erforderlich sein. Bei Azure Monitor werden beispielsweise vom Cluster gesammelte Protokolle an den Log Analytics-Arbeitsbereich gesendet.

Für Konnektivität mit den anderen Azure-Ressourcen von einem zuvor aufgeführten Kubernetes-Cluster mit Arc-Unterstützung muss Private Link für jeden Dienst konfiguriert werden. Ein Beispiel finden Sie unter Private Link für Azure Monitor.

Aktuelle Einschränkungen

Berücksichtigen Sie diese aktuellen Einschränkungen beim Planen Ihrer Private Link-Einrichtung.

  • Sie können einem virtuellen Netzwerk nur einen Private Link-Bereich für Azure Arc zuordnen.

  • Ein Kubernetes-Cluster mit Azure Arc-Unterstützung kann sich nur mit einem Azure Arc Private Link-Bereich verbinden.

  • Alle lokalen Kubernetes-Cluster müssen denselben privaten Endpunkt verwenden, indem die ordnungsgemäßen Informationen zum privaten Endpunkt (Name des FQDN-Eintrags und private IP-Adresse) mithilfe derselben DNS-Weiterleitung aufgelöst werden. Weitere Informationen finden Sie unter Private DNS-Zonenwerte von Azure Private Endpoint. Der Kubernetes-Cluster mit Azure Arc-Unterstützung, der Private Link-Bereich für Azure Arc und das virtuelle Netzwerk müssen sich in derselben Azure-Region befinden. Der private Endpunkt und das virtuelle Netzwerk müssen sich ebenfalls in derselben Azure-Region befinden, aber diese Region kann sich von der Ihres Azure Arc Private Link Bereichs und Kubernetes-Clusters mit Arc-Unterstützung unterscheiden.

  • Datenverkehr an Microsoft Entra ID, Azure Resource Manager und Microsoft Container Registry mithilfe von Diensttags muss während der Vorschauphase von Ihrer lokalen Netzwerkfirewall zugelassen werden.

  • Andere von Ihnen genutzte Azure-Dienste, z. B. Azure Monitor, erfordern möglicherweise eigene private Endpunkte in Ihrem virtuellen Netzwerk.

    Hinweis

    Das Feature Cluster Connect (und deshalb das Feature Benutzerdefinierter Standort) wird in Kubernetes-Clustern mit Azure Arc-Unterstützung und aktivierter privater Konnektivität derzeit nicht unterstützt. Netzwerkkonnektivität mittels privater Verbindungen für Azure Arc-Dienste wie Datendienste mit Azure Arc-Unterstützung und App Services mit Azure Arc-Unterstützung, die diese Features verwenden, werden ebenfalls derzeit nicht unterstützt.

In Kubernetes-Clustern mit Azure Arc-Unterstützung, die mit privaten Verbindungen konfiguriert sind, unterstützen diese Erweiterungen End-to-End-Konnektivität über private Verbindungen.

Um Ihren Kubernetes-Cluster über eine private Verbindung mit Azure Arc zu verbinden, konfigurieren Sie Ihr Netzwerk wie folgt:

  1. Richten Sie eine Verbindung zwischen Ihrem lokalen Netzwerk und einem virtuellen Azure-Netzwerk ein, indem Sie eine Site-to-Site-VPN-Verbindung oder ExpressRoute-Leitung verwenden.
  2. Stellen Sie einen Private Link-Bereich in Azure Arc bereit, der steuert, welche Kubernetes-Cluster über private Endpunkte mit Azure Arc kommunizieren können, und ordnen Sie ihn über einen privaten Endpunkt Ihrem virtuellen Azure-Netzwerk zu.
  3. Ändern Sie die DNS-Konfiguration in Ihrem lokalen Netzwerk so, dass die Adressen der privaten Endpunkte aufgelöst werden.
  4. Konfigurieren Sie Ihre lokale Firewall so, dass der Zugriff auf Microsoft Entra ID, Azure Resource Manager und Microsoft Container Registry zulässig ist.
  5. Ordnen Sie die Kubernetes-Clusters mit Azure Arc-Unterstützung dem Azure Arc Private Link Bereich zu.
  6. Stellen Sie optional private Endpunkte für andere Azure-Dienste bereit, die mit Ihrem Kubernetes-Cluster mit Azure Arc-Unterstützung verwendet wird, z. B. Azure Monitor.

Im Rest dieses Artikel wird davon ausgegangen, dass Sie Ihre ExpressRoute-Leitung oder Site-to-Site-VPN-Verbindung bereits eingerichtet haben.

Netzwerkkonfiguration

Kubernetes-mit Azure Arc-Unterstützung lässt sich in verschiedene Azure-Dienste integrieren, um Ihren Hybrid-Kubernetes-Clustern Verwaltungs- und Governancefunktionen in der Cloud zu ermöglichen. Die meisten dieser Dienste bieten bereits private Endpunkte. Sie müssen jedoch Ihre Firewall- und Routingregeln so konfigurieren, dass der Zugriff auf Microsoft Entra ID und Azure Resource Manager über das Internet möglich ist, bis diese Dienste private Endpunkte anbieten. Sie müssen außerdem Zugriff auf die Microsoft Container Registry (und „AzureFrontDoor.FirstParty“ als Vorläufer von Microsoft Container Registry) zulassen, um Images und Helm-Diagramme pullen zu können, um Dienste wie Azure Monitor zu aktivieren, sowie für die anfängliche Einrichtung von Azure Arc-Agents in Kubernetes-Clustern.

Es gibt zwei Möglichkeiten, diese Konfiguration zu aktivieren.

  • Wenn Ihr Netzwerk so konfiguriert ist, dass der gesamte internetgebundene Datenverkehr über die Azure-VPN-Verbindung oder ExpressRoute-Leitung geroutet wird, können Sie die Netzwerksicherheitsgruppe (NSG), die Ihrem Subnetz in Azure zugeordnet ist, so konfigurieren, dass ausgehender TCP 443-Zugriff (HTTPS) auf Microsoft Entra ID, Azure Resource Manager, Azure Front Door und Microsoft Container Registry mithilfe von Diensttags erlaubt wird. Die NSG-Regeln sollten wie folgt aussehen:

    Einstellung Microsoft Entra ID-Regel Azure Resource Manager-Rolle AzureFrontDoorFirstParty-Regel Microsoft Container Registry-Regel
    Quelle Virtual Network Virtual Network Virtual Network Virtual Network
    Quellportbereiche * * * *
    Destination Diensttag Diensttag Diensttag Diensttag
    Zieldiensttag AzureActiveDirectory AzureResourceManager AzureFrontDoor.FirstParty MicrosoftContainerRegistry
    Zielportbereiche 443 443 443 443
    Protokoll TCP TCP TCP TCP
    Aktion Zulassen Zulassen Zulassen (sowohl eingehend als auch ausgehend) Allow
    Priorität 150 (muss niedriger sein als alle Regeln, die Internetzugriff blockieren) 151 (muss niedriger sein als alle Regeln, die Internetzugriff blockieren) 152 (muss niedriger sein als alle Regeln, die Internetzugriff blockieren) 153 (muss niedriger sein als alle Regeln, die Internetzugriff blockieren)
    Name AllowAADOutboundAccess AllowAzOutboundAccess AllowAzureFrontDoorFirstPartyAccess AllowMCROutboundAccess
  • Konfigurieren Sie alternativ die Firewall in Ihrem lokalen Netzwerk so, dass ausgehender TCP 443 (HTTPS)-Zugriff auf Microsoft Entra ID, Azure Resource Manager und Microsoft Container Registry sowie eingehender und ausgehender Zugriff auf AzureFrontDoor.FirstParty mithilfe herunterladbarer Diensttagdateien zugelassen wird. Die JSON-Datei enthält alle öffentlichen IP-Adressbereiche, die von Microsoft Entra ID, Azure Resource Manager, AzureFrontDoor.FirstParty und Microsoft Container Registry verwendet werden, und wird monatlich aktualisiert, um alle Änderungen widerzuspiegeln. Das Diensttag von Microsoft Entra ist „AzureActiveDirectory“, das Diensttag von Azure Resource Manager ist „AzureResourceManager“, das Diensttag von Microsoft Container Registry ist „MicrosoftContainerRegistry“, und das Diensttag von Azure Front Door ist „AzureFrontDoor.FirstParty“. Wenden Sie sich an Ihren Netzwerkadministrator und Netzwerkfirewallanbieter, um zu erfahren, wie Sie Ihre Firewallregeln konfigurieren.

  1. Melden Sie sich beim Azure-Portal an.

  2. Suchen Sie nach einem Private Link-Bereich in Azure Arc. Alternativ können Sie auch direkt zur Seite Private Link-Bereiche in Azure Arc im Azure-Portal wechseln.

  3. Klicken Sie auf Erstellen.

  4. Wählen Sie ein Abonnement und eine Ressourcengruppe aus. In der Vorschauphase müssen sich Ihr virtuelles Netzwerk und die Kubernetes-Cluster mit Azure Arc-Unterstützung in demselben Abonnement befinden wie der Private Link-Bereich für Azure Arc.

  5. Geben Sie dem Private Link-Bereich für Azure Arc einen Namen.

  6. Um zu verlangen, dass jeder Kubernetes-Cluster mit Azure Arc-Unterstützung, der mit diesem Private Link-Bereich in Azure Arc verbunden ist, Daten über den privaten Endpunkt an den Dienst sendet, wählen Sie Zugriff aus öffentlichen Netzwerken zulassen aus. So können Kubernetes-Cluster, die diesem Private Link-Bereich in Azure Arc zugeordnet sind, über private oder öffentliche Netzwerke mit dem Dienst kommunizieren. Sie können diese Einstellung nach Bedarf ändern, nachdem Sie den Bereich erstellt haben.

    Screenshot des Azure Arc Private Link-Bereichs im Azure-Portal.

  7. Klicken Sie auf Überprüfen + erstellen.

  8. Wählen Sie nach Abschluss der Überprüfung die Option Erstellen aus.

Erstellen eines privaten Endpunkts

Nachdem der Private Link-Bereich in Azure Arc erstellt wurde, müssen Sie ihn über einen privaten Endpunkt mit mindestens einem virtuellen Netzwerk verbinden. Der private Endpunkt macht den Zugriff auf die Azure Arc-Dienste über eine private IP-Adresse im Adressraum Ihres virtuellen Netzwerks verfügbar.

Der private Endpunkt in Ihrem virtuellen Netzwerk ermöglicht, Endpunkte von Kubernetes-Clustern mit Azure Arc-Unterstützung über private IP-Adressen im Pool Ihres Netzwerks zu erreichen, anstatt die öffentlichen IP-Adressen dieser Endpunkte zu verwenden. Auf diese Weise können Sie Ihre Kubernetes-Cluster mit Azure Arc-Unterstützung weiterhin nutzen, ohne das VNet für nicht angeforderten ausgehenden Datenverkehr zu öffnen. Datenverkehr vom privaten Endpunkt zu Ihren Ressourcen wird über Microsoft Azure und nicht über öffentliche Netzwerke geroutet.

  1. Navigieren Sie im Azure-Portal zur von Ihnen erstellten Private Link-Bereichsressource in Azure Arc.

  2. Wählen Sie im Ressourcenmenü unter Konfigurieren die Option Private Endpunktverbindungen aus.

  3. Wählen Sie Hinzufügen aus, um den Prozess zum Erstellen des Endpunkts zu starten. Sie können hier auch Verbindungen genehmigen, die im Private Link-Center gestartet wurden, indem Sie sie und dann Genehmigen auswählen.

    Screenshot des Bildschirms „Private Endpunktverbindungen“ im Azure-Portal.

  4. Wählen Sie das Abonnement und die Ressourcengruppe aus, und geben Sie einen Namen für den Endpunkt ein. Er muss sich in derselben Region befinden, wie Ihr virtuelles Netzwerk.

  5. Klicken Sie auf Weiter: Ressource aus.

  6. Führen Sie auf der Seite Ressource die folgenden Schritte aus, wenn diese Werte noch nicht ausgewählt sind:

    1. Wählen Sie das Abonnement aus, das Ihre Ressource für den Private Link-Bereich in Azure Arc enthält.
    2. Wählen Sie Microsoft.HybridCompute/privateLinkScopes für Ressourcentyp aus.
    3. Wählen Sie für Ressource den Private Link-Bereich in Azure Arc aus, den Sie zuvor erstellt haben.
    4. Wählen Sie Weiter: Virtuelles Netzwerk aus.
  7. Auf der Seite Virtuelles Netzwerk:

    1. Wählen Sie das virtuelle Netzwerk und das Subnetz aus, über das Sie eine Verbindung mit Kubernetes-Clustern mit Azure Arc-Unterstützung herstellen möchten.
    2. Wählen Sie Weiter: DNS aus.
  8. Auf der Seite DNS:

    1. Wählen Sie für die Integration in einer privaten DNS-ZoneJa aus. Eine neue private DNS-Zone wird erstellt.

      Wenn Sie DNS-Einträge lieber manuell verwalten möchten, wählen Sie Nein aus. Schließen Sie dann die Einrichtung Ihrer Private Link-Instanz einschließlich dieses privaten Endpunkts und der Konfiguration des Private Link-Bereichs ab. Als Nächstes konfigurieren Sie Ihr DNS gemäß den Anweisungen unter Private DNS-Zonenwerte von Azure Private Endpoint. Stellen Sie sicher, dass Sie keine leeren Datensätze als Vorbereitung für Ihre Private Link-Einrichtung erstellen. Die von Ihnen erstellten DNS-Einträge können bestehende Einstellungen überschreiben und Ihre Konnektivität mit Kubernetes-Clustern mit Azure Arc-Unterstützung beeinträchtigen.

    2. Klicken Sie auf Überprüfen + erstellen.

    3. Warten Sie die Überprüfung ab.

    4. Klicken Sie auf Erstellen.

Konfigurieren der lokalen DNS-Weiterleitung

Ihre lokalen Kubernetes-Clustern müssen in der Lage sein, die DNS-Einträge der privaten Verbindung in die IP-Adressen des privaten Endpunkts aufzulösen. Die Konfigurationsschritte variieren je nachdem, ob Sie private Azure-DNS-Zonen verwenden, um DNS-Einträge oder Ihren eigenen DNS-Server lokal zu verwalten.

DNS-Konfiguration mit in Azure integrierten privaten DNS-Zonen

Wenn Sie bei der Erstellung des privaten Endpunkts die Option Ja für Integration in eine private DNS-Zone ausgewählt haben, müssen Ihre lokalen Kubernetes-Cluster in der Lage sein, DNS-Abfragen an die integrierten Azure DNS-Server weiterzuleiten, um die Adressen der privaten Endpunkte richtig aufzulösen. Sie benötigen eine DNS-Weiterleitung in Azure (entweder eine eigens eingerichtete VM oder eine Azure Firewall-Instanz mit aktiviertem DNS-Proxy). Anschließend können Sie Ihren lokalen DNS-Server so konfigurieren, dass er Abfragen an Azure weiterleitet, um IP-Adressen privater Endpunkte aufzulösen.

Die Dokumentation zu privaten Endpunkten enthält Anleitungen zum Konfigurieren lokaler Workloads mithilfe einer DNS-Weiterleitung.

Manuelle DNS-Serverkonfiguration

Wenn Sie sich bei der Erstellung des privaten Endpunkts gegen die Verwendung privater Azure-DNS-Zonen entschieden haben, müssen Sie die erforderlichen DNS-Einträge auf Ihrem lokalen DNS-Server erstellen.

  1. Öffnen Sie das Azure-Portal.
  2. Navigieren Sie zu der privaten Endpunktressource, die Ihrem virtuellen Netzwerk und dem Private Link-Bereich in Azure Arc zugeordnet ist.
  3. Wählen Sie im linken Bereich DNS-Konfiguration aus, um eine Liste der DNS-Einträge und der entsprechenden IP-Adressen anzuzeigen, die Sie auf Ihrem DNS-Server einrichten müssen. Die FQDNs und IP-Adressen ändern sich basierend auf der Region, die Sie für Ihren privaten Endpunkt ausgewählt haben, und den verfügbaren IP-Adressen in Ihrem Subnetz.
  4. Befolgen Sie die Anweisungen Ihres DNS-Serveranbieters, um die erforderlichen DNS-Zonen und A-Einträge hinzuzufügen, die mit der Tabelle im Portal übereinstimmen müssen. Stellen Sie sicher, dass Sie einen DNS-Server auswählen, der für Ihr Netzwerk geeignet ist. Jeder Kubernetes-Cluster, der diesen DNS-Server verwendet, löst nun die IP-Adressen der privaten Endpunkte auf und muss mit dem Private Link-Bereich in Azure Arc verbunden sein, da sonst die Verbindung abgelehnt wird.

Hinweis

Das Konfigurieren privater Links für Kubernetes-Cluster mit Azure Arc-Unterstützung wird ab Version 1.3.0 der CLI-Erweiterung connectedk8s unterstützt, erfordert jedoch eine höhere Version von Azure CLI als 2.3.0. Bei Verwendung einer höheren Version als 1.3.0 für die CLI-Erweiterung connectedk8s wurden Überprüfungen eingeführt, um den Cluster zu überprüfen und nur dann erfolgreich mit Azure Arc zu verbinden, wenn Sie eine höhere Version der Azure CLI als 2.3.0 ausführen.

Sie können private Verbindungen für einen vorhandenen Kubernetes-Cluster mit Azure Arc-Unterstützung oder beim erstmaligen Onboarding eines Kubernetes-Clusters in Azure Arc mithilfe des folgenden Befehls konfigurieren:

az connectedk8s connect -g <resource-group-name> -n <connected-cluster-name> -l <location> --enable-private-link true --private-link-scope-resource-id <pls-arm-id>
Parametername Beschreibung
--enable-private-link Aktiviert das Feature für private Verbindungen, wenn auf True festgelegt.
--private-link-scope-resource-id ID der zuvor erstellten Ressource des Private Link-Bereichs. Beispiel: /subscriptions//resourceGroups//providers/Microsoft.HybridCompute/privateLinkScopes/

Für Kubernetes-Cluster mit Azure Arc-Unterstützung, die vor dem Konfigurieren des Azure Arc Private Link-Bereichs eingerichtet wurden, konfigurieren Sie private Verbindungen im Azure-Portal mithilfe der folgenden Schritte:

  1. Navigieren Sie im Azure-Portal zu Ihrer Ressource „Private Link-Bereich für Azure Arc“.
  2. Wählen Sie im Ressourcenmenü unter Konfigurieren die Option Azure Arc-Ressourcen aus. Klicken Sie anschließend auf Hinzufügen.
  3. Es werden alle Arc-fähigen Kubernetes-Cluster im selben Abonnement und in derselben Region wie Ihr Private Link-Bereich angezeigt. Aktivieren Sie das Kontrollkästchen für jeden Kubernetes-Cluster, den Sie dem Private Link-Bereich zuordnen möchten. Wenn Sie fertig sind, wählen Sie Auswählen aus, um Ihre Änderungen zu speichern.

Problembehandlung

Wenn Probleme auftreten, können die folgenden Vorschläge helfen:

  • Überprüfen Sie Ihren lokalen DNS-Server, um sicherzustellen, dass er entweder an Azure DNS weiterleitet oder mit den entsprechenden A-Einträgen in Ihrer Private Link-Zone konfiguriert ist. Diese Lookupbefehle müssen private IP-Adressen in Ihrem virtuellen Azure-Netzwerk zurückgeben. Wenn sie öffentliche IP-Adressen auflösen, überprüfen Sie die DNS-Konfiguration Ihres Servers und Netzwerks.

    nslookup gbl.his.arc.azure.com
    nslookup agentserviceapi.guestconfiguration.azure.com
    nslookup dp.kubernetesconfiguration.azure.com
    
  • Bei Problemen mit dem Onboarding Ihres Kubernetes-Clusters vergewissern Sie sich, dass Sie Ihrer lokalen Netzwerkfirewall Diensttags für Microsoft Entra ID, Azure Resource Manager, AzureFrontDoor.FirstParty und Microsoft Container Registry hinzugefügt haben.

Nächste Schritte