Durch Azure Arc-Netzwerkanforderungen aktivierte AKS

Gilt für: Azure Stack HCI, Version 23H2

In diesem Artikel werden die wichtigsten Netzwerkkonzepte für Ihre VMs und Anwendungen in AKS vorgestellt, die von Azure Arc aktiviert werden. Der Artikel beschreibt auch die erforderlichen Netzwerkvoraussetzungen zum Erstellen von Kubernetes-Clustern. Es wird empfohlen, dass Sie mit einem Netzwerkadministrator zusammenarbeiten, um die Netzwerkparameter bereitzustellen und einzurichten, die für die Bereitstellung von AKS erforderlich sind, die von Arc aktiviert ist.

In diesem konzeptionellen Artikel werden die folgenden wichtigen Komponenten vorgestellt. Diese Komponenten benötigen eine statische IP-Adresse, damit der AKS Arc-Cluster und die Anwendungen erfolgreich erstellt und ausgeführt werden können:

  • AKS-Cluster-VMs
  • IP-Adresse der AKS-Steuerungsebene
  • Lastenausgleich für Containeranwendungen

Netzwerk für AKS-Cluster-VMs

Kubernetes-Knoten werden als spezialisierte virtuelle Computer in AKS bereitgestellt, die von Arc aktiviert werden. Diesen VMs werden IP-Adressen zugeordnet, um die Kommunikation zwischen Kubernetes-Knoten zu ermöglichen. AKS Arc verwendet logische Azure Stack HCI-Netzwerke, um IP-Adressen und Netzwerke für die zugrunde liegenden VMs der Kubernetes-Cluster bereitzustellen. Weitere Informationen zu logischen Netzwerken finden Sie unter Logische Netzwerke für Azure Stack HCI. Sie müssen planen, eine IP-Adresse pro VM des AKS-Clusterknotens in Ihrer Azure Stack HCI-Umgebung zu reservieren.

Hinweis

Statische IP ist der einzige unterstützte Modus zum Zuweisen einer IP-Adresse zu AKS Arc-VMs. Dies liegt daran, dass Kubernetes erfordert, dass die einem Kubernetes-Knoten zugewiesene IP-Adresse während des gesamten Lebenszyklus des Kubernetes-Clusters konstant ist.

Die folgenden Parameter sind erforderlich, um ein logisches Netzwerk für den AKS Arc-Clustererstellungsvorgang zu verwenden:

Parameter des logischen Netzwerks BESCHREIBUNG Erforderlicher Parameter für AKS Arc-Cluster
--address-prefixes AddressPrefix für das Netzwerk. Derzeit wird nur ein Adresspräfix unterstützt. Verwendung: --address-prefixes "10.220.32.16/24". Unterstützt
--dns-servers Durch Leerzeichen getrennte Liste der IP-Adressen des DNS-Servers. Verwendung: --dns-servers 10.220.32.16 10.220.32.17. Unterstützt
--gateway Gateway. Die Gateway-IP-Adresse muss sich innerhalb des Bereichs des Adresspräfixes befinden. Verwendung: --gateway 10.220.32.16. Unterstützt
--ip-allocation-method Die IP-Adresszuordnungsmethode. Unterstützte Werte sind "Statisch". Verwendung: --ip-allocation-method "Static". Unterstützt
--ip-pool-start Die Start-IP-Adresse Ihres IP-Pools. Die Adresse muss im Bereich des Adresspräfixes liegen. Verwendung: --ip-pool-start "10.220.32.18". Unterstützt
--ip-pool-end Die End-IP-Adresse Ihres IP-Pools. Die Adresse muss im Bereich des Adresspräfixes liegen. Verwendung: --ip-pool-end "10.220.32.38". Unterstützt
--vm-switch-name Der Name des VM-Switches. Verwendung: --vm-switch-name "vm-switch-01". Unterstützt

IP-Adresse der Steuerungsebene

Kubernetes verwendet eine Steuerungsebene, um sicherzustellen, dass jede Komponente im Kubernetes-Cluster im gewünschten Zustand bleibt. Die Steuerungsebene verwaltet und verwaltet auch die Workerknoten, die die Containeranwendungen enthalten. AKS, das von Arc aktiviert ist, stellt den KubeVIP-Lastenausgleich bereit, um sicherzustellen, dass die IP-Adresse des API-Servers der Kubernetes-Steuerungsebene jederzeit verfügbar ist. Diese KubeVIP-instance erfordert eine einzelne unveränderliche "IP-Adresse der Steuerungsebene", um ordnungsgemäß zu funktionieren.

Hinweis

Die IP-Adresse der Steuerungsebene ist ein erforderlicher Parameter zum Erstellen eines Kubernetes-Clusters. Sie müssen sicherstellen, dass sich die IP-Adresse der Steuerungsebene eines Kubernetes-Clusters nicht mit anderen Überschneidungen überschneidet, einschließlich logischer Arc-VM-Netzwerke, Infrastrukturnetzwerk-IPs, Lastenausgleichsmodule usw. Die IP-Adresse der Steuerungsebene muss sich ebenfalls innerhalb des Adresspräfixes des logischen Netzwerks, jedoch außerhalb des IP-Pools befinden. Dies liegt daran, dass der IP-Pool nur für VMs verwendet wird. Wenn Sie eine IP-Adresse aus dem IP-Pool für die Steuerungsebene auswählen, kann es zu einem IP-Adresskonflikt kommen. Überlappende IP-Adressen können sowohl für den AKS-Cluster als auch für jeden anderen Ort, an dem die IP-Adresse verwendet wird, zu unerwarteten Fehlern führen. Sie müssen planen, eine IP-Adresse pro Kubernetes-Cluster in Ihrer Umgebung zu reservieren.

Lastenausgleichs-IPs für Containeranwendungen

Der Standard Zweck eines Lastenausgleichs besteht darin, Datenverkehr auf mehrere Knoten in einem Kubernetes-Cluster zu verteilen. Dieser Lastenausgleich kann dazu beitragen, Ausfallzeiten zu vermeiden und die Gesamtleistung von Anwendungen zu verbessern. AKS unterstützt die folgenden Optionen zum Bereitstellen eines Lastenausgleichs für Ihren Kubernetes-Cluster:

Unabhängig davon, ob Sie die MetalLB Arc-Erweiterung oder einen eigenen Lastenausgleich auswählen, müssen Sie einen Satz von IP-Adressen für den Lastenausgleichsdienst angeben. Sie haben folgende Optionen:

  • Stellen Sie IP-Adressen für Ihre Dienste aus demselben Subnetz wie die AKS Arc-VMs bereit.
  • Verwenden Sie ein anderes Netzwerk und eine andere Liste von IP-Adressen, wenn Ihre Anwendung einen externen Lastenausgleich benötigt.

Unabhängig von der ausgewählten Option müssen Sie sicherstellen, dass die dem Lastenausgleich zugeordneten IP-Adressen nicht mit den IP-Adressen in den IP-Adressen im logischen Netzwerk oder der Steuerungsebene für Ihre Kubernetes-Cluster in Konflikt stehen. In Konflikt stehende IP-Adressen können zu unvorhergesehenen Fehlern in Ihrer AKS-Bereitstellung und -Anwendungen führen.

Einfache IP-Adressplanung für Kubernetes-Cluster und -Anwendungen

Im folgenden Szenario reservieren Sie IP-Adressen aus einem einzelnen Netzwerk für Ihre Kubernetes-Cluster und -Dienste. Dies ist das einfachste und einfachste Szenario für die Zuweisung von IP-Adressen.

IP-Adressanforderung Mindestanzahl von IP-Adressen Wie und wo diese Reservierung erfolgt
AKS Arc-VM-IP-Adressen Reservieren Sie eine IP-Adresse für jeden Workerknoten in Ihrem Kubernetes-Cluster. Wenn Sie beispielsweise drei Knotenpools mit drei Knoten in jedem Knotenpool erstellen möchten, müssen Sie über 9 IP-Adressen in Ihrem IP-Pool verfügen. Ip-Adressen für AKS Arc-VMs über IP-Pools im logischen Arc-VM-Netzwerk reservieren.
AKS Arc K8s-Versionsupgrade-IP-Adressen Da AKS Arc parallele Upgrades durchführt, reservieren Sie eine IP-Adresse für jeden AKS Arc-Cluster für Upgradevorgänge für Kubernetes-Versionen. Reservieren Sie IP-Adressen für das Upgrade der K8s-Version über IP-Pools im logischen Arc-VM-Netzwerk.
IP-Adresse der Steuerungsebene Reservieren Sie eine IP-Adresse für jeden Kubernetes-Cluster in Ihrer Umgebung. Wenn Sie beispielsweise insgesamt 5 Cluster erstellen möchten, reservieren Sie 5 IP-Adressen, eine für jeden Kubernetes-Cluster. Reservieren Sie IP-Adressen für IP-Adressen auf Steuerungsebene im selben Subnetz wie das logische Arc-VM-Netzwerk, aber außerhalb des angegebenen IP-Pools.
Load Balancer-IP-Adressen Die Anzahl der reservierten IP-Adressen hängt vom Bereitstellungsmodell Ihrer Anwendung ab. Als Ausgangspunkt können Sie eine IP-Adresse für jeden Kubernetes-Dienst reservieren. Reservieren Sie IP-Adressen für IP-Adressen auf Steuerungsebene im selben Subnetz wie das logische Arc-VM-Netzwerk, aber außerhalb des angegebenen IP-Pools.

Beispiel für die exemplarische Vorgehensweise für die IP-Adressreservierung für Kubernetes-Cluster und -Anwendungen

Jane ist IT-Administratorin, die gerade mit AKS beginnt, die von Azure Arc aktiviert wurde. Sie möchte zwei Kubernetes-Cluster bereitstellen: Kubernetes-Cluster A und Kubernetes-Cluster B in ihrem Azure Stack HCI-Cluster. Sie möchte auch eine Abstimmungsanwendung auf Cluster A ausführen. Diese Anwendung verfügt über drei Instanzen der Front-End-Benutzeroberfläche, die in den beiden Clustern ausgeführt werden, und eine instance der Back-End-Datenbank. Alle AKS-Cluster und -Dienste werden in einem einzelnen Netzwerk mit einem einzelnen Subnetz ausgeführt.

  • Kubernetes-Cluster A verfügt über 3 Knoten auf Steuerungsebene und 5 Workerknoten.
  • Kubernetes-Cluster B verfügt über 1 Steuerungsebenenknoten und 3 Workerknoten.
  • 3 Instanzen der Front-End-Benutzeroberfläche (Port 443).
  • 1 instance der Back-End-Datenbank (Port 80).

Basierend auf der vorherigen Tabelle muss sie insgesamt 19 IP-Adressen in ihrem Subnetz reservieren:

  • 8 IP-Adressen für die AKS Arc-Knoten-VMs in Cluster A (eine IP-Adresse pro K8s-Knoten-VM).
  • 4 IP-Adressen für die AKS Arc-Knoten-VMs in Cluster B (eine IP-Adresse pro K8s-Knoten-VM).
  • 2 IP-Adressen zum Ausführen des AKS Arc-Upgradevorgangs (eine IP-Adresse pro AKS Arc-Cluster).
  • 2 IP-Adressen für die AKS Arc-Steuerungsebene (eine IP-Adresse pro AKS Arc-Cluster)
  • 3 IP-Adressen für den Kubernetes-Dienst (eine IP-Adresse pro instance der Front-End-Benutzeroberfläche, da alle denselben Port verwenden. Die Back-End-Datenbank kann eine der drei IP-Adressen verwenden, solange sie einen anderen Port verwendet.

Wenn Sie mit diesem Beispiel fortfahren und es der folgenden Tabelle hinzufügen, erhalten Sie Folgendes:

Parameter Anzahl von IP-Adressen Wie und wo diese Reservierung vorgenommen werden soll
AKS Arc-VMs und K8s-Versionsupgrade 14 IP-Adressen reservieren Nehmen Sie diese Reservierung über IP-Pools im logischen Azure Stack HCI-Netzwerk vor.
IP-Adresse der Steuerungsebene Reservieren von 2 IP-Adressen, eine für AKS Arc-Cluster Verwenden Sie den controlPlaneIP Parameter, um die IP-Adresse für die IP-Adresse der Steuerungsebene zu übergeben. Stellen Sie sicher, dass sich diese IP-Adresse im selben Subnetz wie das logische Arc-Netzwerk befindet, aber außerhalb des IP-Pools, der im logischen Arc-Netzwerk definiert ist.
Load Balancer-IPs 3 IP-Adresse für Kubernetes-Dienste, für jane's Voting-Anwendung. Diese IP-Adressen werden verwendet, wenn Sie einen Lastenausgleich auf Cluster A installieren. Sie können die MetalLB Arc-Erweiterung verwenden oder Ihren eigenen Load Balancer von Drittanbietern mitbringen. Stellen Sie sicher, dass sich diese IP-Adresse im selben Subnetz wie das logische Arc-Netzwerk befindet, jedoch außerhalb des IP-Pools, der im logischen Arc-VM-Netzwerk definiert ist.

Proxyeinstellungen

Proxyeinstellungen in AKS werden vom zugrunde liegenden Infrastruktursystem geerbt. Die Funktionalität zum Festlegen einzelner Proxyeinstellungen für Kubernetes-Cluster und zum Ändern von Proxyeinstellungen wird noch nicht unterstützt.

Netzwerkport & VLAN-übergreifende Anforderungen

Wenn Sie Azure Stack HCI bereitstellen, weisen Sie einen zusammenhängenden Block mit mindestens sechs statischen IP-Adressen im Subnetz Ihres Verwaltungsnetzwerks zu, wobei Adressen, die bereits von den physischen Servern verwendet werden, weggelassen werden. Diese IP-Adressen werden von Azure Stack HCI und der internen Infrastruktur (Arc Resource Bridge) für die Arc-VM-Verwaltung und AKS Arc verwendet. Wenn ihr Verwaltungsnetzwerk, das IP-Adressen für Arc Resource Bridge-bezogene Azure Stack HCI-Dienste bereitstellt, sich in einem anderen VLAN befindet als das logische Netzwerk, das Sie zum Erstellen von AKS-Clustern verwendet haben, müssen Sie sicherstellen, dass die folgenden Ports geöffnet sind, um einen AKS-Cluster erfolgreich zu erstellen und zu betreiben.

Zielport Destination Quelle BESCHREIBUNG Hinweise zum VLAN-Netzwerk
22 Logisches Netzwerk, das für AKS Arc-VMs verwendet wird IP-Adressen im Verwaltungsnetzwerk Erforderlich, um Protokolle für die Problembehandlung zu sammeln. Wenn Sie separate VLANs verwenden, müssen IP-Adressen im Verwaltungsnetzwerk, das für Azure Stack HCI und Arc Resource Bridge verwendet wird, auf die AKS Arc-Cluster-VMs an diesem Port zugreifen.
6443 Logisches Netzwerk, das für AKS Arc-VMs verwendet wird IP-Adressen im Verwaltungsnetzwerk Erforderlich für die Kommunikation mit Kubernetes-APIs. Wenn Sie separate VLANs verwenden, müssen IP-Adressen im Verwaltungsnetzwerk, das für Azure Stack HCI und Arc Resource Bridge verwendet wird, auf die AKS Arc-Cluster-VMs an diesem Port zugreifen.
55000 IP-Adressen im Verwaltungsnetzwerk Logisches Netzwerk, das für AKS Arc-VMs verwendet wird Cloud-Agent gRPC-Server Wenn Sie separate VLANs verwenden, müssen die AKS Arc-VMs auf die IP-Adressen im Verwaltungsnetzwerk zugreifen, die für cloud-Agent-IP und Cluster-IP an diesem Port verwendet werden.
65000 IP-Adressen im Verwaltungsnetzwerk Logisches Netzwerk, das für AKS Arc-VMs verwendet wird Cloud Agent GRPC-Authentifizierung Wenn Sie separate VLANs verwenden, müssen die AKS Arc-VMs auf die IP-Adressen im Verwaltungsnetzwerk zugreifen, die für cloud-Agent-IP und Cluster-IP an diesem Port verwendet werden.

Firewall-URL-Ausnahmen

Informationen zur Zulassungsliste für Firewall/Proxy-URL in Azure Arc finden Sie unter Azure Arc-Ressourcenbrückennetzwerkanforderungen und Azure Stack HCI 23H2-Netzwerkanforderungen.

Für die Bereitstellung und den Betrieb von Kubernetes-Clustern müssen die folgenden URLs von allen physischen Knoten und AKS Arc-VMs in der Bereitstellung erreichbar sein. Stellen Sie sicher, dass diese URLS in Ihrer Firewallkonfiguration zulässig sind:

URL Port Dienst Hinweise
https://mcr.microsoft.com 443 Microsoft-Containerregistrierung Wird für offizielle Microsoft-Artefakte wie Containerimages verwendet.
https://*.his.arc.azure.com 443 Azure Arc-Identitätsdienst Wird für die Identitäts- und Zugriffssteuerung verwendet.
https://*.dp.kubernetesconfiguration.azure.com 443 Kubernetes Wird für die Azure Arc-Konfiguration verwendet.
https://*.servicebus.windows.net 443 Clusterverbindung Wird verwendet, um eine sichere Verbindung mit Azure Arc-fähigen Kubernetes-Clustern herzustellen, ohne dass ein eingehender Port in der Firewall aktiviert werden muss.
https://guestnotificationservice.azure.com 443 Benachrichtigungsdienst Wird für Gastbenachrichtigungsvorgänge verwendet.
https://*.dp.prod.appliances.azure.com 443 Datenebenendienst Wird für Vorgänge auf Datenebene für Ressourcenbrücke (Anwendung) verwendet.
*.data.mcr.microsoft.com
azurearcfork8s.azurecr.io
linuxgeneva-microsoft.azurecr.io
pipelineagent.azurecr.io
ecpacr.azurecr.io
443 Agent herunterladen Wird zum Herunterladen von Images und Agents verwendet.
*.prod.microsoftmetrics.com
*.prod.hot.ingestion.msftcloudes.com
dc.services.visualstudio.com
*.prod.warm.ingest.monitor.core.windows.net
gcs.prod.monitoring.core.windows.net
443 Metriken und Systemüberwachung Wird für Metriken und die Überwachung des Telemetriedatenverkehrs verwendet.
*.blob.core.windows.net
*.dl.delivery.mp.microsoft.com
*.do.dsp.mp.microsoft.com
443 TCP Wird zum Herunterladen von Resource Bridge-Images (Anwendung) verwendet.
https://azurearcfork8sdev.azurecr.io 443 Kubernetes Wird zum Herunterladen von Azure Arc für Kubernetes-Containerimages verwendet.
https://adhs.events.data.microsoft.com 443 Telemetrie ADHS ist ein Telemetriedienst, der innerhalb des Appliance-/Mariner-Betriebssystems ausgeführt wird. Wird in regelmäßigen Abständen verwendet, um erforderliche Diagnosedaten von Knoten der Steuerungsebene an Microsoft zu senden. Wird verwendet, wenn Telemetriedaten aus dem Mariner kommen, d. h. jede Kubernetes-Steuerungsebene.
https://v20.events.data.microsoft.com 443 Telemetrie Wird in regelmäßigen Abständen verwendet, um erforderliche Diagnosedaten vom Windows Server-Host an Microsoft zu senden.
gcr.io 443 Google Container Registry Wird für offizielle Kubernetes-Artefakte wie Containerbasisimages verwendet.
pypi.org 443 Python-Paket Überprüfen Sie Kubernetes- und Python-Versionen.
*.pypi.org 443 Python-Paket Überprüfen Sie Kubernetes- und Python-Versionen.
https://hybridaks.azurecr.io 443 Containerimage Erforderlich für den Zugriff auf das HybridAKS-Operatorimage.
aka.ms 443 az extensions Erforderlich zum Herunterladen von Azure CLI-Erweiterungen wie aksarc und connectedk8s.
*.login.microsoft.com 443 Azure Erforderlich zum Abrufen und Aktualisieren von Azure Resource Manager-Token.
sts.windows.net 443 Azure Arc Für Cluster connect und benutzerdefiniertes Standortbasiertes Szenario.
hybridaksstorage.z13.web.core.windows.net 443 Azure Stack HCI Statische AKSHCI-Website, die in Azure Storage gehostet wird.
raw.githubusercontent.com 443 GitHub Wird für GitHub verwendet.
www.microsoft.com 80 Offizielle Microsoft-Website. Offizielle Microsoft-Website.
*.prod.do.dsp.mp.microsoft.com 443 Microsoft Update Download des Anwendung-Images (Resource Bridge).
files.pythonhosted.org 443 Python-Paket Python-Paket.

Nächste Schritte

Create logische Netzwerke für Kubernetes-Cluster in Azure Stack HCI 23H2