Von Azure Arc-Netzwerkanforderungen aktivierte AKS
Gilt für: Azure Stack HCI, Version 23H2
In diesem Artikel werden kerne Netzwerkkonzepte für Ihre virtuellen Computer und Anwendungen in AKS vorgestellt, die von Azure Arc aktiviert sind. In diesem Artikel werden auch die erforderlichen Netzwerkvoraussetzungen für die Erstellung von Kubernetes-Clustern beschrieben. Es wird empfohlen, mit einem Netzwerkadministrator zusammenzuarbeiten, um die Netzwerkparameter bereitzustellen und einzurichten, die zum Bereitstellen von AKS erforderlich sind, die von Arc aktiviert sind.
In diesem konzeptionellen Artikel werden die folgenden Hauptkomponenten eingeführt. Diese Komponenten benötigen eine statische IP-Adresse, damit der AKS Arc-Cluster und die Anwendungen erfolgreich erstellt und ausgeführt werden können:
- VMs des AKS-Clusters
- AKS-Steuerebene IP
- Lastenausgleich für containerisierte Anwendungen
Netzwerk für VMs des AKS-Clusters
Kubernetes-Knoten werden als spezielle virtuelle Computer in AKS bereitgestellt, die von Arc aktiviert sind. Diese virtuellen Computer werden IP-Adressen zugewiesen, 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 AKS-Clusterknoten-VM 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 die IP-Adresse erfordert, die einem Kubernetes-Knoten zugewiesen ist, während des gesamten Lebenszyklus des Kubernetes-Clusters konstant zu sein. Softwaredefinierte virtuelle Netzwerke und SDN-bezogene Features werden derzeit auf AKS auf Azure Stack HCI 23H2 nicht unterstützt.
Die folgenden Parameter sind erforderlich, um ein logisches Netzwerk für die Erstellung eines AKS Arc-Clusters zu verwenden:
Logischer Netzwerkparameter | 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" . |
|
--dns-servers |
Leerzeichentrennte Liste der DNS-Server-IP-Adressen. Verwendung: --dns-servers 10.220.32.16 10.220.32.17 . |
|
--gateway |
Gateway. Die Gateway-IP-Adresse muss sich innerhalb des Adresspräfixes befinden. Verwendung: --gateway 10.220.32.16 . |
|
--ip-allocation-method |
Die IP-Adresszuweisungsmethode. Unterstützte Werte sind "Static". Verwendung: --ip-allocation-method "Static" . |
|
--ip-pool-start |
Die Start-IP-Adresse Ihres IP-Pools. Die Adresse muss sich im Bereich des Adresspräfixes befinden. Verwendung: --ip-pool-start "10.220.32.18" . |
|
--ip-pool-end |
Die End-IP-Adresse Ihres IP-Pools. Die Adresse muss sich im Bereich des Adresspräfixes befinden. Verwendung: --ip-pool-end "10.220.32.38" . |
|
--vm-switch-name |
Der Name des VM-Switches. Verwendung: --vm-switch-name "vm-switch-01" . |
Ip-Adresse der Steuerebene
Kubernetes verwendet eine Steuerebene, um sicherzustellen, dass jede Komponente im Kubernetes-Cluster im gewünschten Zustand beibehalten wird. Die Steuerungsebene verwaltet und verwaltet auch die Arbeitsknoten, die die containerisierten Anwendungen enthalten. AKS, die von Arc aktiviert werden, stellt den KubeVIP-Lastenausgleich bereit, um sicherzustellen, dass die IP-Adresse des API-Servers der Kubernetes-Steuerungsebene jederzeit verfügbar ist. Diese KubeVIP-Instanz erfordert eine einfache unveränderliche "Steuerelementebene IP-Adresse", um ordnungsgemäß zu funktionieren.
Hinweis
Die IP-Adresse der Steuerebene 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 überlappt, einschließlich logischer Arc-VM-Netzwerke, Infrastrukturnetzwerk-IPs, Lastenausgleichsmodulen usw. Die IP-Adresse der Steuerebene muss sich auch innerhalb des Adresspräfixes des logischen Netzwerks befinden, jedoch außerhalb des IP-Pools. Dies liegt daran, dass der IP-Pool nur für VMs verwendet wird und wenn Sie eine IP-Adresse aus dem IP-Pool für die Kontrollebene auswählen, kann ein IP-Adresskonflikt auftreten. Überlappende IP-Adressen können zu unerwarteten Fehlern sowohl für den AKS-Cluster als auch für jede andere Stelle führen, an der die IP-Adresse verwendet wird. Sie müssen planen, eine IP-Adresse pro Kubernetes-Cluster in Ihrer Umgebung zu reservieren.
Lastenausgleichs-IPs für containerisierte Anwendungen
Der Hauptzweck eines Lastenausgleichs ist die Verteilung des Datenverkehrs über mehrere Knoten in einem Kubernetes-Cluster. 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:
- Stellen Sie das MetalLB-Lastenausgleichsmodul mithilfe der Azure Arc-Erweiterung bereit.
- Bring your own third party load balancer.
Unabhängig davon, ob Sie die MetalLB Arc-Erweiterung auswählen oder einen eigenen Lastenausgleichsmodul mitbringen, müssen Sie dem Lastenausgleichsdienst eine Reihe von IP-Adressen bereitstellen. Sie haben die folgenden Optionen:
- Stellen Sie IP-Adressen für Ihre Dienste aus demselben Subnetz wie die VMs von AKS Arc 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 von Ihnen ausgewählten Option müssen Sie sicherstellen, dass die dem Lastenausgleich zugeordneten IP-Adressen nicht mit den IP-Adressen im logischen Netzwerk oder steuerebenen-IPs für Ihre Kubernetes-Cluster in Konflikt stehen. Widersprüchliche 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 walk-through reservieren Sie IP-Adressen aus einem einzigen Netzwerk für Ihre Kubernetes-Cluster und -Dienste. Dies ist das einfachste und einfachste Szenario für die IP-Adresszuweisung.
IP-Adressanforderung | Mindestanzahl von IP-Adressen | Wie und wo sie diese Reservierung vornehmen können |
---|---|---|
AKS Arc-VM-IPs | Reservieren Sie eine IP-Adresse für jeden Arbeitsknoten in Ihrem Kubernetes-Cluster. Wenn Sie beispielsweise drei Knotenpools mit 3 Knoten in jedem Knotenpool erstellen möchten, müssen Sie über 9 IP-Adressen in Ihrem IP-Pool verfügen. | Reservieren Sie IP-Adressen für AKS Arc-VMs über IP-Pools im logischen Arc-Netzwerk. |
AKS Arc K8s-Versionsupgrade-IPs | Da AKS Arc rollierende Upgrades durchführt, reservieren Sie für jeden AKS Arc-Cluster eine IP-Adresse für Kubernetes-Versionsupgradevorgänge. | Reservieren Sie IP-Adressen für den Upgradevorgang der K8s-Version über IP-Pools im logischen Arc VM-Netzwerk. |
Ip-Adresse der Steuerebene | 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 Steuerebenen-IPs im selben Subnetz wie das logische Arc-VM-Netzwerk, aber außerhalb des angegebenen IP-Pools. |
Lastenausgleichs-IPs | Die Anzahl der reservierten IP-Adressen hängt von Ihrem Anwendungsbereitstellungsmodell ab. Als Ausgangspunkt können Sie eine IP-Adresse für jeden Kubernetes-Dienst reservieren. | Reservieren Sie IP-Adressen für Steuerebenen-IPs 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 ein IT-Administrator, der gerade mit AKS beginnt, die von Azure Arc aktiviert sind. Sie möchte zwei Kubernetes-Cluster bereitstellen: Kubernetes-Cluster A und Kubernetes Cluster B auf ihrem Azure Stack HCI-Cluster. Sie möchte auch eine Abstimmungsanwendung über Cluster A führen. Diese Anwendung verfügt über drei Instanzen der Front-End-Benutzeroberfläche, die über die beiden Cluster und eine Instanz der Back-End-Datenbank ausgeführt wird. Alle ihre AKS-Cluster und -Dienste werden in einem einzigen Netzwerk mit einem einzigen Subnetz ausgeführt.
- Kubernetes-Cluster A verfügt über 3 Steuerebenenknoten und 5 Arbeitsknoten.
- Kubernetes-Cluster B verfügt über 1 Steuerebenenknoten und 3 Arbeitsknoten.
- 3 Instanzen der Front-End-Benutzeroberfläche (Port 443).
- 1 Instanz 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 VMs des AKS Arc-Knotens im Cluster A (eine IP pro K8s-Knoten-VM).
- 4 IP-Adressen für die VMs des AKS Arc-Knotens im Cluster B (eine IP pro K8s-Knoten-VM).
- 2 IP-Adressen für die Ausführung des AKS Arc-Upgradevorgangs (eine IP-Adresse pro AKS Arc-Cluster).
- 2 IP-Adressen für die AKS Arc-Steuerebene (eine IP-Adresse pro AKS Arc-Cluster)
- 3 IP-Adressen für den Kubernetes-Dienst (eine IP-Adresse pro Instanz der Front-End-UI, da sie alle denselben Port verwenden. Die Back-End-Datenbank kann eine der drei IP-Adressen verwenden, solange ein anderer Port verwendet wird).
Wenn Sie mit diesem Beispiel fortfahren und der folgenden Tabelle hinzufügen, erhalten Sie Folgendes:
Parameter | Anzahl von IP-Adressen | Wie und wo sie diese Reservierung vornehmen können |
---|---|---|
Upgrade der AKS Arc-VMs und K8s-Version | Reservieren von 14 IP-Adressen | Stellen Sie diese Reservierung über IP-Pools im logischen Azure Stack HCI-Netzwerk vor. |
Ip-Adresse der Steuerebene | Reservieren von 2 IP-Adressen, eine für den AKS Arc-Cluster | Verwenden Sie den controlPlaneIP Parameter, um die IP-Adresse für die Steuerebenen-IP zu übergeben. Stellen Sie sicher, dass sich diese IP im selben Subnetz wie das logische Arc-Netzwerk befindet, aber außerhalb des im logischen Arc-Netzwerk definierten IP-Pools. |
Lastenausgleichs-IPs | 3 IP-Adresse für Kubernetes-Dienste, für Janes Abstimmungsanwendung. | Diese IP-Adressen werden verwendet, wenn Sie ein Lastenausgleichsmodul auf Cluster A installieren. Sie können die MetalLB Arc-Erweiterung verwenden oder Ihren eigenen Drittanbieter zum Lastenausgleich bringen. Stellen Sie sicher, dass sich diese IP im selben Subnetz wie das logische Arc-Netzwerk befindet, aber außerhalb des im logischen Arc-VM-Netzwerk definierten IP-Pools. |
Proxyeinstellungen
Proxyeinstellungen in AKS werden vom zugrunde liegenden Infrastruktursystem geerbt. Die Funktionalität zum Festlegen einzelner Proxyeinstellungen für Kubernetes-Cluster und das Ändern von Proxyeinstellungen wird noch nicht unterstützt.
Netzwerkport- und VLAN-cross-VLAN-Anforderungen
Wenn Sie Azure Stack HCI bereitstellen, weisen Sie einen zusammenhängenden Block von mindestens sechs statischen IP-Adressen im Subnetz Ihres Verwaltungsnetzwerks zu, wobei adressen weggelassen werden, die bereits von den physischen Servern verwendet werden. Diese IPs werden von Azure Stack HCI und interner Infrastruktur (Arc Resource Bridge) für die Arc-VM-Verwaltung und AKS Arc verwendet. Wenn sich Ihr Verwaltungsnetzwerk, das IP-Adressen für Arc Resource Bridge-bezogene Azure Stack HCI-Dienste bereitstellt, in einem anderen VLAN als dem logischen Netzwerk befinden, das Sie zum Erstellen von AKS-Clustern verwendet haben, müssen Sie sicherstellen, dass die folgenden Ports zum erfolgreichen Erstellen und Betreiben eines AKS-Clusters geöffnet werden.
Zielport | Destination | Quelle | Beschreibung | Übergreifende VLAN-Netzwerknotizen |
---|---|---|---|---|
22 | Logisches Netzwerk, das für VMs von AKS Arc verwendet wird | IP-Adressen im Verwaltungsnetzwerk | Erforderlich zum Sammeln von Protokollen zur Problembehandlung. | Wenn Sie separate VLANs verwenden, müssen IP-Adressen im Verwaltungsnetzwerk, die für Azure Stack HCI und Arc Resource Bridge verwendet werden, auf die VMs des AKS Arc-Clusters auf diesem Port zugreifen. |
6443 | Logisches Netzwerk, das für VMs von AKS Arc 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, die für Azure Stack HCI und Arc Resource Bridge verwendet werden, auf die VMs des AKS Arc-Clusters auf diesem Port zugreifen. |
55000 | IP-Adressen im Verwaltungsnetzwerk | Logisches Netzwerk, das für VMs von AKS Arc verwendet wird | Cloud Agent gRPC-Server | Wenn Sie separate VLANs verwenden, müssen die VMs von AKS Arc auf die IP-Adressen im Verwaltungsnetzwerk zugreifen, die für cloud-Agent-IP und Cluster-IP auf diesem Port verwendet werden. |
65000 | IP-Adressen im Verwaltungsnetzwerk | Logisches Netzwerk, das für VMs von AKS Arc verwendet wird | Cloud Agent gRPC-Authentifizierung | Wenn Sie separate VLANs verwenden, müssen die VMs von AKS Arc auf die IP-Adressen im Verwaltungsnetzwerk zugreifen, die für cloud-Agent-IP und Cluster-IP auf diesem Port verwendet werden. |
Firewall-URL-Ausnahmen
Informationen zur Zulassungsliste der Azure Arc-Firewall/Proxy-URL finden Sie in den Azure Arc-Ressourcenbrücken-Netzwerkanforderungen und azure Stack HCI 23H2-Netzwerkanforderungen.
Hinweis
Wenn Sie eine ältere Azure Stack HCI-Version wie 2402 und früher bereitstellen, müssen Sie auch die gcr.io - und storage.googleapis.com-URLs zulassen. Diese URLs wurden aus der neuesten AKS Arc-Version entfernt.
URL | Port | Dienst | Hinweise |
---|---|---|---|
https://mcr.microsoft.com *.data.mcr.microsoft.com azurearcfork8s.azurecr.io linuxgeneva-microsoft.azurecr.io pipelineagent.azurecr.io ecpacr.azurecr.io https://azurearcfork8sdev.azurecr.io https://hybridaks.azurecr.io aszk8snetworking.azurecr.io |
443 | AKS Bogen | Wird für offizielle Microsoft-Artefakte wie Containerimages verwendet. |
docker.io |
443 | AKS Bogen | Wird für Kubernetes offizielle Artefakte wie Containerbasisimages verwendet. |
hybridaksstorage.z13.web.core.windows.net |
443 | AKS Bogen | Statische AKSHCI-Website, die in Azure Storage gehostet wird. |
*.blob.core.windows.net *.dl.delivery.mp.microsoft.com *.do.dsp.mp.microsoft.com |
443 | AKS Bogen | Wird zum Herunterladen und Aktualisieren von AKS Arc VHD-Bildern verwendet. |
*.prod.do.dsp.mp.microsoft.com |
443 | AKS Bogen | Wird zum Herunterladen und Aktualisieren von AKS Arc VHD-Bildern verwendet. |
*.login.microsoft.com |
443 | Azure | Erforderlich zum Abrufen und Aktualisieren von Azure Resource Manager-Token für die Anmeldung bei Azure. |
https://*.his.arc.azure.com |
443 | Azure Arc-aktivierte K8s | Wird für Arc-Agents identitäts- und Zugriffssteuerung verwendet. |
https://*.dp.kubernetesconfiguration.azure.com |
443 | Azure Arc-aktivierte K8s | Wird für die Azure Arc-Konfiguration verwendet. |
https://*.servicebus.windows.net |
443 | Azure Arc-aktivierte K8s | 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 | Azure Arc-aktivierte K8s | Wird für Gastbenachrichtigungsvorgänge verwendet. |
sts.windows.net |
443 | Azure Arc-aktivierte K8s | Für cluster connect und benutzerdefiniertes standortbasiertes Szenario. |
https://*.dp.prod.appliances.azure.com |
443 | Arc-Ressourcenbrücke | Wird für Datenebenenvorgänge für Resource Bridge (Appliance) 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 https://adhs.events.data.microsoft.com https://v20.events.data.microsoft.com |
443 | Metriken und Systemüberwachung | Wird für Metriken und überwachung des Telemetriedatenverkehrs verwendet. |
pypi.org *.pypi.org files.pythonhosted.org |
443 | Azure CLI | Wird verwendet, um Az CLI- und Az CLI-Erweiterungen herunterzuladen. |
aka.ms |
443 | Azure Stack HCI | Erforderlich für Azure Stack HCI-bezogene Downloads. |
raw.githubusercontent.com |
443 | GitHub | Wird für GitHub verwendet. |
www.microsoft.com |
80 | Offizielle Microsoft-Website. | Offizielle Microsoft-Website. |
Nächste Schritte
Erstellen logischer Netzwerke für Kubernetes-Cluster auf Azure Stack HCI 23H2