Bearbeiten

Freigeben über


Zugreifen auf einen Azure Kubernetes Service (AKS)-API-Server

Azure Bastion
Azure ExpressRoute
Azure Kubernetes Service (AKS)
Azure Private Link
Azure VPN Gateway

In diesem Leitfaden werden Optionen zum Herstellen einer Verbindung mit dem API-Server Ihres Azure Kubernetes Service (AKS)-Clusters beschrieben. In einem Standard-AKS-Cluster wird der API-Server über das Internet verfügbar gemacht. In einem privaten AKS-Cluster können Sie nur über ein Gerät mit Netzwerkzugriff auf den privaten Cluster eine Verbindung herstellen.

Die Planung des API-Serverzugriffs ist eine Tägliche-Null-Aktivität, und Ihre Zugriffsmethode hängt von Ihrem Bereitstellungsszenario ab.

AKS-API-Serverzugriff

Um einen AKS-Cluster zu verwalten, interagieren Sie mit seinem API-Server. Es ist wichtig, den API-Serverzugriff auf nur erforderliche Benutzer einzuschränken. Der granulare Zugriff kann durch integration des AKS-Clusters mit Microsoft Entra ID bereitgestellt werden. Administratoren können die rollenbasierte Zugriffssteuerung (RBAC) verwenden, um den Zugriff zu verwalten, Benutzer und Identitäten in Entra-Gruppen zu platzieren und entsprechende Rollen und Berechtigungen zuzuweisen. Die Microsoft Entra-Authentifizierung ist in AKS-Clustern über OpenID Connect aktiviert. Weitere Informationen finden Sie in den folgenden Ressourcen:

Anmerkung

Sie können die AKS-Clustersicherheit verbessern, indem Sie nur autorisierte IP-Adressbereiche für den Zugriff auf den API-Server zulassen. Weitere Informationen finden Sie unter sicheren Zugriff auf den API-Server mithilfe autorisierter IP-Adressbereiche in Azure Kubernetes Service (AKS).

Azure DDoS Protection, kombiniert mit bewährten Methoden für den Anwendungsentwurf, bietet erweiterte Entschärfungsfeatures für DDoS-Angriffe. Sie sollten Azure DDOS Protection in jedem virtuellen Umkreisnetzwerk aktivieren.

Zugreifen auf AKS-Cluster über das Internet

Wenn Sie einen nichtprivaten Cluster erstellen, der den vollqualifizierten Domänennamen (Fully Qualified Domain Name, FQDN) des API-Servers auflöst, wird standardmäßig eine öffentliche IP-Adresse zugewiesen. Sie können eine Verbindung mit Ihrem Cluster über das Azure-Portal oder eine Shell wie Azure CLI, PowerShell oder Eingabeaufforderung herstellen.

Anmerkung

Weitere Informationen zur Verwendung des Kubernetes-Befehlszeilenclients kubectl zum Herstellen einer Verbindung mit einem Cluster über das Internet finden Sie unter Herstellen einer Verbindung mit dem Cluster.

Azure Cloud Shell

Cloud Shell ist eine shell, die in das Azure-Portal integriert ist. Sie können Azure-Ressourcen über Cloud Shell wie von PowerShell oder Azure CLI verwalten und eine Verbindung mit Azure-Ressourcen herstellen. Weitere Informationen finden Sie unter Übersicht über azure Cloud Shell.

Zugriff auf private AKS-Cluster

Es gibt mehrere Möglichkeiten, eine Verbindung mit einem privaten AKS-Cluster herzustellen. Die Planung des Zugriffs ist eine Tägliche-Null-Aktivität basierend auf den Anforderungen und Einschränkungen Ihres Szenarios. Sie können eine Verbindung mit Ihrem privaten Cluster herstellen, indem Sie die folgenden Komponenten und Dienste verwenden:

Anmerkung

SSH, RemoteDesktopprotokoll (RDP) und Remotedesktopdienste (RDS) sind alternative Protokolle für die Remotesteuerung von Sprungfeldern.

Anmerkung

Der gesamte Datenverkehr zum API-Server erfolgt über TCP zum Port 443 unter Verwendung von HTTPS. Alle beteiligten NSGs oder andere Netzwerkfirewalls müssen Datenverkehr vom Ursprungspunkt zum FQDN des API-Servers am Port 443 für HTTPS-Datenverkehr zulassen. Bestimmte Zertifikate sollten nur auf den FQDN für die API des Clusters beschränkt werden.

Azure Bastion

Azure Bastion ist ein PaaS-Angebot, das sichere RDP- oder SSH-Verbindungen mit einer VM innerhalb Ihres virtuellen Netzwerks ermöglicht, ohne dass eine öffentliche IP-Adresse auf dem virtuellen Computer erforderlich ist. Wenn Sie eine Verbindung mit einem privaten AKS-Cluster herstellen, können Sie Azure Bastion verwenden, um auf ein Sprungfeld im virtuellen Hubnetzwerk zuzugreifen, während sich der AKS-Cluster in einem Speichennetzwerk befindet. Ein virtuelles Netzwerk-Peering wird verwendet, um das Hub- und Speichennetzwerk zu verbinden. Das Sprungfeld kann den FQDN des AKS-API-Servers mithilfe von Azure Private Endpoint, einer privaten DNS-Zone und einem DNS A-Eintrag auflösen. Mit diesem Setup wird sichergestellt, dass der FQDN des API-Servers nur innerhalb des virtuellen Netzwerks aufgelöst werden kann und eine vertrauenswürdige Verbindung mit dem privaten AKS-Cluster bereitstellt.

Anmerkung

Die Verfügbarkeit und Redundanz Ihrer Sprungfelder sind für den kontinuierlichen Zugriff auf Ihren privaten AKS-Cluster von entscheidender Bedeutung. Um dies sicherzustellen, platzieren Sie Ihre Sprungfelder in Verfügbarkeitssätzen, und verwenden Sie Skalierungssätze für virtuelle Computer mit einigen VM-Instanzen. Weitere Informationen finden Sie in den folgenden Ressourcen:

Architekturdiagramm, das die Datenverkehrsroute von einem Benutzer zu einem privaten AKS-Cluster zeigt. Der Datenverkehr fließt durch Azure Bastion und eine Sprungbox.

Laden Sie eine Visio-Datei dieser Architektur herunter.

Datenfluss

  1. Ein Benutzer versucht, mithilfe von Azure Bastion und einem HTML5-Browser mit TLS-Verschlüsselung eine Verbindung mit einem Sprungfeld herzustellen.
  2. Der Benutzer wählt aus dem Portal aus, ob RDP oder SSH zum Herstellen einer Verbindung mit dem Sprungfeld verwendet werden soll.
  3. Der Benutzer meldet sich über Azure Bastion beim Sprungfeld an. Der Versuch, eine Verbindung mit dem privaten AKS-Cluster herzustellen, erfolgt über dieses Sprungfeld. Das virtuelle Hubnetzwerk verfügt über eine virtuelle Netzwerkverbindung mit der privaten AKS-DNS-Zone, um den FQDN des privaten Clusters aufzulösen.
  4. Das virtuelle Hubnetzwerk und das speichen virtuelle Netzwerk kommunizieren miteinander mithilfe eines virtuellen Netzwerk-Peerings.
  5. Um den privaten AKS-Cluster zu erreichen, wechselt der Datenverkehr in das Azure-Backbone. Ein privater Endpunkt stellt eine private, isolierte Verbindung mit dem privaten AKS-Cluster her.
  6. Der Datenverkehr erreicht den API-Server des privaten AKS-Clusters. Der Benutzer kann dann Pods, Knoten und Anwendungen verwalten.

Anmerkung

Der FQDN Ihres privaten Clusters kann weiterhin außerhalb Ihres virtuellen Netzwerks aufgelöst werden, wenn Sie den öffentlichen FQDN nicht explizit deaktivieren. Informationen zum Deaktivieren des öffentlichen FQDN Ihres privaten AKS-Clusters finden Sie unter Deaktivieren öffentlicher FQDN für einen vorhandenen Cluster.

Beheben von Verbindungsproblemen

Wenn Sie keine Verbindung mit Ihrem privaten Cluster herstellen können:

  • Überprüfen Sie das virtuelle Netzwerk-Peering. Dieser Mechanismus bietet Netzwerk-zu-Netzwerkkonnektivität zwischen zwei virtuellen Netzwerken. Damit der Datenverkehr zwischen diesen beiden Netzwerken fließt, müssen Sie das virtuelle Netzwerk-Peering zwischen ihnen einrichten. Wenn Sie ein virtuelles Netzwerk-Peering einrichten, wird eine Route in der Systemroutentabelle des virtuellen Netzwerks platziert. Diese Route stellt einen Pfad zum Erreichen des Zieladressraums bereit. Weitere Informationen zur Problembehandlung für virtuelle Netzwerk-Peerings finden Sie unter Erstellen, Ändern oder Löschen eines virtuellen Netzwerk-Peerings.

    Anmerkung

    Sie benötigen kein virtuelles Netzwerk-Peering, wenn Sich Ihr Sprungfeld im selben virtuellen Netzwerk wie der private Endpunkt und Ihr privater AKS-Cluster befinden.

  • Überprüfen Sie die Virtuelle Netzwerkverbindung mit der privaten DNS-Zone. Virtuelle Netzwerkverbindungen bieten eine Möglichkeit für virtuelle Computer, die sich in virtuellen Netzwerken befinden, um eine Verbindung mit einer privaten DNS-Zone herzustellen und die DNS-Einträge innerhalb der Zone aufzulösen. Wenn Sie keine Verbindung mit Ihrem privaten AKS-Cluster herstellen oder den FQDN des privaten Clusters nicht auflösen können, überprüfen Sie, ob Ihr virtuelles Netzwerk über eine Verbindung mit Ihrer privaten DNS-Zone verfügt. Der Name der privaten DNS-Zone sollte das folgende Format aufweisen:

    privatelink.<region>.azmk8s.io

    Weitere Informationen zur Problembehandlung für virtuelle Netzwerklinks finden Sie in den folgenden Ressourcen:

    Anmerkung

    Wenn Sie einen privaten AKS-Cluster erstellen, wird eine private DNS-Zone erstellt, die über eine virtuelle Netzwerkverbindung mit dem virtuellen Netzwerk verfügt, in dem der private AKS-Cluster gehostet wird.

Verbessern der Sicherheit

Um AKS-Workloads und Ihre Sprungfelder weiter zu sichern, können Sie just-in-time (JIT)-Zugriff und eine Arbeitsstation mit privilegiertem Zugriff (PAW) verwenden.

Um AKS-Workloads und Ihre Sprungfelder zu sichern, verwenden Sie just-in-time (JIT)-Zugriff und eine Arbeitsstation mit privilegiertem Zugriff (PAW). JIT-Zugriff, Teil von Microsoft Defender für Cloud, reduziert die Bedrohungslandschaft, indem eingehender Datenverkehr in Ihr Sprungfeld blockiert und nur für einen bestimmten Zeitpunkt bei Bedarf Zugriff gewährt wird. Nach Ablauf der Zeit wird der Zugriff automatisch widerrufen. Weitere Informationen zum JIT-Zugriff finden Sie unter Understanding just-in-time (JIT)-VM-Zugriff.

PAWs sind gehärtete Geräte, die eine hohe Sicherheit für Operatoren bieten, indem allgemeine Angriffsvektoren wie E-Mail und Webbrowsen blockiert werden. Es ist schwierig, PAWs zu kompromittieren, da sie viele häufige Angriffsvektoren wie E-Mail und Webbrowsen blockieren. Weitere Informationen zu PAWs finden Sie unter Sichern von Geräten als Teil des Abschnitts "Privilegierter Zugriff".

Virtuelles privates Netzwerk (VPN)

Eine VPN-Verbindung bietet hybride Konnektivität von Ihrer lokalen Umgebung zu Azure, die den Zugriff auf einen privaten AKS-Cluster ermöglicht. Der API-Server des privaten Clusters ist außerhalb Ihrer virtuellen Netzwerke nicht erreichbar. Mit einem VPN können Sie über einen verschlüsselten Tunnel eine Verbindung mit Ihrem virtuellen Netzwerk in Azure herstellen, dann auf Ihr Sprungfeld zugreifen und von dort aus eine Verbindung mit dem API-Server des privaten Clusters herstellen.

Architekturdiagramm, das den Datenverkehrsfluss von einem Benutzer zu einem privaten AKS-Cluster zeigt. Die Route umfasst ein VPN-Gateway, einen IPsec-Tunnel und ein Sprungfeld.

Laden Sie eine Visio-Datei dieser Architektur herunter.

Datenfluss

  1. Ein Benutzer initiiert RDP- oder SSH-Datenverkehr an das Sprungfeld von einer lokalen Arbeitsstation.
  2. Jump box traffic leaves the customer edge routers and VPN appliance. Der Datenverkehr verwendet einen verschlüsselten IPsec-Tunnel, um das Internet zu durchlaufen.
  3. Sprungfelddatenverkehr erreicht das virtuelle Netzwerkgateway in Azure, d. h. den Eingangs- und Ausgangspunkt der virtuellen Azure-Netzwerkinfrastruktur.
  4. Nachdem der Datenverkehr über das virtuelle Netzwerkgateway verschoben wurde, erreicht er das Sprungfeld. Der Versuch, eine Verbindung mit dem privaten AKS-Cluster herzustellen, erfolgt über das Sprungfeld. Das virtuelle Hubnetzwerk verfügt über eine virtuelle Netzwerkverbindung mit der privaten AKS-DNS-Zone, um den FQDN des privaten Clusters aufzulösen.
  5. Das virtuelle Hubnetzwerk und das speichen virtuelle Netzwerk kommunizieren miteinander mithilfe eines virtuellen Netzwerk-Peerings.
  6. Um den privaten AKS-Cluster zu erreichen, wechselt der Datenverkehr in das Azure-Backbone. Ein privater Endpunkt stellt eine private, isolierte Verbindung mit dem privaten AKS-Cluster her.
  7. Der Datenverkehr erreicht den API-Server des privaten AKS-Clusters. Der Benutzer kann dann Pods, Knoten und Anwendungen verwalten.

ExpressRoute

ExpressRoute bietet Verbindungen mit Ihrem privaten AKS-Cluster aus einer lokalen Umgebung. ExpressRoute verwendet das Border Gateway Protocol (BGP), um Routen zwischen Ihrem lokalen Netzwerk und Azure auszutauschen, um einen Pfad zwischen IaaS-Ressourcen und lokalen Arbeitsstationen zu erstellen. ExpressRoute bietet eine dedizierte, isolierte Verbindung mit konsistenter Bandbreite und Latenz, sodass sie ideal für Unternehmensumgebungen ist.

Architekturdiagramm, das die Datenverkehrsroute von einem Benutzer zu einem privaten AKS-Cluster zeigt. Die Route umfasst ExpressRoute und ein Sprungfeld.

Laden Sie eine Visio-Datei dieser Architektur herunter.

Datenfluss

  1. Ein Benutzer initiiert RDP- oder SSH-Datenverkehr an das Sprungfeld von einer lokalen Arbeitsstation.
  2. Sprungbox-Datenverkehr verlässt die Router des Kundenrands und fährt an einer Glasfaserverbindung an den Meet-Me-Standort, an dem sich der ExpressRoute-Schaltkreis befindet. Der Datenverkehr erreicht dort die Microsoft Enterprise Edge (MSEE)-Geräte. Anschließend wechselt es in die Azure-Fabric.
  3. Sprungfelddatenverkehr erreicht das ExpressRoute-Gateway, das den Eingangs- und Ausgangspunkt der virtuellen Azure-Netzwerkinfrastruktur darstellt.
  4. Der Datenverkehr erreicht das Sprungfeld. Der Versuch, eine Verbindung mit dem privaten AKS-Cluster herzustellen, erfolgt über das Sprungfeld. Das virtuelle Hubnetzwerk verfügt über eine virtuelle Netzwerkverbindung mit der privaten AKS-DNS-Zone, um den FQDN des privaten Clusters aufzulösen.
  5. Das virtuelle Hubnetzwerk und das speichen virtuelle Netzwerk kommunizieren miteinander mithilfe eines virtuellen Netzwerk-Peerings.
  6. Um den privaten AKS-Cluster zu erreichen, wechselt der Datenverkehr in das Azure-Backbone. Ein privater Endpunkt stellt eine private, isolierte Verbindung mit dem privaten AKS-Cluster her.
  7. Der Datenverkehr erreicht den API-Server des privaten AKS-Clusters. Der Benutzer kann dann Pods, Knoten und Anwendungen verwalten.

Anmerkung

ExpressRoute erfordert einen Drittanbieterkonnektivitätsanbieter, um eine Peeringverbindung mit den MSEE-Routern bereitzustellen. ExpressRoute-Datenverkehr ist nicht verschlüsselt. Weitere Informationen finden Sie unter Was ist Azure ExpressRoute?.

Ausführen des Befehls "aks"

Mit einem privaten AKS-Cluster können Sie eine Verbindung von einem virtuellen Computer herstellen, der Zugriff auf den API-Server hat. Mithilfe der Azure CLI aks command invokekönnen Sie Befehle wie kubectl oder helm remote über die Azure-API ausführen. Dadurch wird ein vorübergehender Pod im Cluster erstellt, der nur während des Befehls dauert. Die aks command invoke dient als alternative Verbindungsmethode, wenn Sie kein VPN, ExpressRoute oder peered virtuelles Netzwerk besitzen. Stellen Sie sicher, dass Ihr Cluster- und Knotenpool über ausreichende Ressourcen verfügen, um den vorübergehenden Pod zu erstellen.

Weitere Informationen finden Sie unter Verwenden des Befehls aufrufen, um auf einen privaten Azure Kubernetes Service (AKS)-Clusterzuzugreifen.

Verbinden von Cloud Shell mit einem Subnetz

Wenn Sie Cloud Shell in einem virtuellen Netzwerk bereitstellen, das Sie steuern, können Sie mit Ressourcen innerhalb dieses Netzwerks interagieren. Die Bereitstellung von Cloud Shell in einem von Ihnen verwalteten Subnetz ermöglicht die Konnektivität mit dem API-Server eines privaten AKS-Clusters. Auf diese Weise können Sie eine Verbindung mit dem privaten Cluster herstellen. Weitere Informationen finden Sie unter Bereitstellen von Cloud Shell in einem virtuellen Azure-Netzwerk.

Verwenden von SSH und Visual Studio Code zum Testen

SSH verwaltet und greift auf Dateien auf einem Remotehost mithilfe von Public-Private-Schlüsselpaaren sicher zu. Von Ihrem lokalen Computer aus können Sie SSH mit der Visual Studio Code Remote - SSH-Erweiterung verwenden, um eine Verbindung mit einem Sprungfeld in Ihrem virtuellen Netzwerk herzustellen. Der verschlüsselte SSH-Tunnel wird an der öffentlichen IP des Sprungfelds beendet, sodass Kubernetes-Manifestdateien ganz einfach geändert werden können.

Informationen zum Herstellen einer Verbindung mit Ihrem Sprungfeld über SSH finden Sie unter Remoteentwicklung über SSH-.

Wenn Sie keine Verbindung mit Ihrer VM über SSH herstellen können, um Ihren privaten Cluster zu verwalten:

  • Überprüfen Sie die Sicherheitsgruppenregel für eingehende Netzwerke für das VM-Subnetz. Die Standardregel für Netzwerksicherheitsgruppen blockiert den gesamten eingehenden Datenverkehr von außerhalb von Azure. Erstellen Sie daher eine neue Regel, die SSH-Datenverkehr von der öffentlichen IP Ihres lokalen Computers zulässt.
  • Überprüfen Sie den Zertifikatspeicherort. Überprüfen Sie die korrekte Platzierung der Zertifikate. Der private Schlüssel sollte sich im verzeichnis C:\Users\User\.ssh\id_rsa auf Ihrem lokalen Computer befinden. Der öffentliche Schlüssel sollte in der datei ~/.ssh/id_rsa.pub auf dem virtuellen Computer in Azure platziert werden.

Anmerkung

Wir empfehlen Folgendes:

  • Vermeiden Sie die Verwendung einer öffentlichen IP-Adresse zum Herstellen einer Verbindung mit Ressourcen in Produktionsumgebungen. Öffentliche IPs sollten nur bei der Entwicklung oder beim Testen verwendet werden. Erstellen Sie in solchen Fällen eine Gruppenregel für eingehende Netzwerksicherheitsgruppen, um datenverkehr von der öffentlichen IP Ihres lokalen Computers zuzulassen. Weitere Informationen zu Netzwerksicherheitsgruppenregeln finden Sie unter Erstellen, Ändern oder Löschen einer Netzwerksicherheitsgruppe.

  • Vermeiden Sie die Verwendung von SSH, um eine direkte Verbindung mit AKS-Knoten oder -Containern herzustellen. Verwenden Sie stattdessen eine dedizierte externe Verwaltungslösung. Dies ist besonders wichtig, wenn Sie die Verwendung von aks command invokein Betracht ziehen, wodurch ein vorübergehender Pod innerhalb Ihres Clusters für den zugriff mit Näherung erstellt wird.

Schlussfolgerung

  • Sie können über das Internet auf den API-Server Ihres AKS-Clusters zugreifen, wenn der öffentliche FQDN aktiviert ist.
  • Cloud Shell ist eine integrierte Befehlszeilenshell im Azure-Portal, mit der Sie eine Verbindung mit einem AKS-Cluster herstellen können.
  • Verwenden Sie Azure Bastion und einen privaten Endpunkt, um einen sichereren Zugriff zu erhalten.
  • VPNs und ExpressRoute bieten Hybridkonnektivität mit Ihrem privaten AKS-Cluster.
  • Wenn keine externe Konnektivitätslösung verfügbar ist, können Sie aks command invoke remote verwenden.
  • Cloud Shell kann auch direkt in einem virtuellen Netzwerk bereitgestellt werden, das Sie für den Zugriff auf den privaten Cluster verwalten.
  • Die Verwendung von Visual Studio Code mit SSH in einem Sprungfeld verschlüsselt die Verbindung und vereinfacht das Ändern von Manifestdateien, obwohl sie eine öffentliche IP-Adresse in Ihrer Umgebung verfügbar macht.

Beitragende

Dieser Artikel wird von Microsoft verwaltet. Sie wurde ursprünglich von den folgenden Mitwirkenden verfasst.

Hauptautoren:

Andere Mitwirkende:

Um nichtublic LinkedIn-Profile anzuzeigen, melden Sie sich bei LinkedIn an.

Nächste Schritte