AKS ingeschakeld door azure Arc-netwerkvereisten

Van toepassing op: Azure Stack HCI, versie 23H2

In dit artikel worden de belangrijkste netwerkconcepten geïntroduceerd voor uw VM's en toepassingen in AKS die worden ingeschakeld door Azure Arc. In het artikel worden ook de vereiste netwerkvereisten beschreven voor het maken van Kubernetes-clusters. We raden u aan samen te werken met een netwerkbeheerder om de netwerkparameters op te geven en in te stellen die vereist zijn voor het implementeren van AKS die door Arc is ingeschakeld.

In dit conceptuele artikel worden de volgende belangrijke onderdelen geïntroduceerd. Deze onderdelen hebben een statisch IP-adres nodig om het AKS Arc-cluster en de toepassingen te kunnen maken en werken:

  • AKS-cluster-VM's
  • IP van AKS-besturingsvlak
  • Load balancer voor toepassingen in containers

Netwerken voor AKS-cluster-VM's

Kubernetes-knooppunten worden geïmplementeerd als gespecialiseerde virtuele machines in AKS die worden ingeschakeld door Arc. Deze VM's zijn toegewezen IP-adressen om communicatie tussen Kubernetes-knooppunten mogelijk te maken. AKS Arc maakt gebruik van logische Azure Stack HCI-netwerken om IP-adressen en netwerken te bieden voor de onderliggende VM's van de Kubernetes-clusters. Zie Logische netwerken voor Azure Stack HCI voor meer informatie over logische netwerken. U moet één IP-adres per AKS-clusterknooppunt-VM reserveren in uw Azure Stack HCI-omgeving.

Notitie

Statisch IP-adres is de enige ondersteunde modus voor het toewijzen van een IP-adres aan AKS Arc-VM's. Dit komt omdat Kubernetes vereist dat het IP-adres dat is toegewezen aan een Kubernetes-knooppunt constant is gedurende de levenscyclus van het Kubernetes-cluster.

De volgende parameters zijn vereist om een logisch netwerk te gebruiken voor het maken van een AKS Arc-cluster:

Parameter logisch netwerk Description Vereiste parameter voor AKS Arc-cluster
--address-prefixes AddressPrefix voor het netwerk. Momenteel wordt slechts één adresvoorvoegsel ondersteund. Gebruik: --address-prefixes "10.220.32.16/24". Ondersteund
--dns-servers Door spaties gescheiden lijst met IP-adressen van DNS-server. Gebruik: --dns-servers 10.220.32.16 10.220.32.17. Ondersteund
--gateway Gateway. Het IP-adres van de gateway moet binnen het bereik van het adresvoorvoegsel vallen. Gebruik: --gateway 10.220.32.16. Ondersteund
--ip-allocation-method De toewijzingsmethode voor IP-adressen. Ondersteunde waarden zijn Statisch. Gebruik: --ip-allocation-method "Static". Ondersteund
--ip-pool-start Het begin-IP-adres van uw IP-adresgroep. Het adres moet zich binnen het bereik van het adresvoorvoegsel bevinden. Gebruik: --ip-pool-start "10.220.32.18". Ondersteund
--ip-pool-end Het eind-IP-adres van uw IP-adresgroep. Het adres moet zich binnen het bereik van het adresvoorvoegsel bevinden. Gebruik: --ip-pool-end "10.220.32.38". Ondersteund
--vm-switch-name De naam van de VM-switch. Gebruik: --vm-switch-name "vm-switch-01". Ondersteund

IP van besturingsvlak

Kubernetes maakt gebruik van een besturingsvlak om ervoor te zorgen dat elk onderdeel in het Kubernetes-cluster in de gewenste status wordt gehouden. Het besturingsvlak beheert en onderhoudt ook de werkknooppunten die de containertoepassingen bevatten. AKS ingeschakeld door Arc implementeert de KubeVIP-load balancer om ervoor te zorgen dat het IP-adres van de API-server van het Kubernetes-besturingsvlak te allen tijde beschikbaar is. Dit KubeVIP-exemplaar heeft één onveranderbaar IP-adres van het besturingsvlak nodig om correct te kunnen functioneren.

Notitie

Het IP-adres van het besturingsvlak is een vereiste parameter voor het maken van een Kubernetes-cluster. U moet ervoor zorgen dat het IP-adres van het besturingsvlak van een Kubernetes-cluster niet overlapt met andere zaken, zoals logische Arc VM-netwerken, NETWERK-IP-adressen van infrastructuur, load balancers, enzovoort. Het IP-adres van het besturingsvlak moet ook binnen het bereik van het adresvoorvoegsel van het logische netwerk vallen, maar buiten de IP-adresgroep. Dit komt doordat de IP-groep alleen wordt gebruikt voor VM's. Als u een IP-adres uit de IP-groep voor het besturingsvlak kiest, kan er een IP-adresconflict optreden. Overlappende IP-adressen kunnen leiden tot onverwachte fouten voor zowel het AKS-cluster als elke andere plaats waar het IP-adres wordt gebruikt. U moet plannen om één IP-adres per Kubernetes-cluster in uw omgeving te reserveren.

Ip-adressen van load balancers voor toepassingen in containers

Het belangrijkste doel van een load balancer is het verdelen van verkeer over meerdere knooppunten in een Kubernetes-cluster. Deze taakverdeling kan helpen downtime te voorkomen en de algehele prestaties van toepassingen te verbeteren. AKS ondersteunt de volgende opties voor het implementeren van een load balancer voor uw Kubernetes-cluster:

Of u nu kiest voor de MetalLB Arc-extensie of uw eigen load balancer gebruikt, u moet een set IP-adressen opgeven bij de load balancer-service. U hebt de volgende opties:

  • Geef IP-adressen op voor uw services vanuit hetzelfde subnet als de AKS Arc-VM's.
  • Gebruik een ander netwerk en een andere lijst met IP-adressen als uw toepassing externe taakverdeling nodig heeft.

Ongeacht de optie die u kiest, moet u ervoor zorgen dat de IP-adressen die aan de load balancer zijn toegewezen, niet conflicteert met de IP-adressen in het logische netwerk of besturingsvlak-IP-adressen voor uw Kubernetes-clusters. Conflicterende IP-adressen kunnen leiden tot onvoorziene fouten in uw AKS-implementatie en -toepassingen.

Eenvoudige PLANNING VAN IP-adressen voor Kubernetes-clusters en -toepassingen

In het volgende scenario reserveert u IP-adressen van één netwerk voor uw Kubernetes-clusters en -services. Dit is het meest eenvoudige scenario voor het toewijzen van IP-adressen.

VEREISTE IP-adres Minimum aantal IP-adressen Hoe en waar u deze reservering kunt maken
IP-adressen van AKS Arc-VM's Reserveer één IP-adres voor elk werkknooppunt in uw Kubernetes-cluster. Als u bijvoorbeeld drie knooppuntgroepen met drie knooppunten in elke knooppuntgroep wilt maken, moet u 9 IP-adressen in uw IP-adresgroep hebben. Reserveer IP-adressen voor AKS Arc-VM's via IP-groepen in het logische Arc VM-netwerk.
IP-adressen voor AKS Arc K8s-versie-upgrade Omdat AKS Arc rolling upgrades uitvoert, reserveert u één IP-adres voor elk AKS Arc-cluster voor kubernetes-versie-upgradebewerkingen. Reserveer IP-adressen voor upgradebewerking van K8s-versie via IP-groepen in het logische Arc VM-netwerk.
IP van besturingsvlak Reserveer één IP-adres voor elk Kubernetes-cluster in uw omgeving. Als u bijvoorbeeld in totaal 5 clusters wilt maken, reserveert u 5 IP-adressen, één voor elk Kubernetes-cluster. Reserveer IP-adressen voor IP-adressen van besturingsvlak in hetzelfde subnet als het logische arc-VM-netwerk, maar buiten de opgegeven IP-adresgroep.
Ip-adressen van load balancers Het aantal gereserveerde IP-adressen is afhankelijk van het implementatiemodel van uw toepassing. Als uitgangspunt kunt u één IP-adres reserveren voor elke Kubernetes-service. Reserveer IP-adressen voor IP-adressen van besturingsvlak in hetzelfde subnet als het logische arc-VM-netwerk, maar buiten de opgegeven IP-adresgroep.

Voorbeeld van walkthrough voor IP-adresreservering voor Kubernetes-clusters en -toepassingen

Jane is een IT-beheerder die net begint met AKS die is ingeschakeld door Azure Arc. Ze wil twee Kubernetes-clusters implementeren: Kubernetes-cluster A en Kubernetes-cluster B op haar Azure Stack HCI-cluster. Ze wil ook een stemtoepassing uitvoeren op cluster A. Deze toepassing heeft drie exemplaren van de front-endgebruikersinterface die wordt uitgevoerd in de twee clusters en één exemplaar van de back-enddatabase. Al haar AKS-clusters en -services worden uitgevoerd in één netwerk, met één subnet.

  • Kubernetes-cluster A heeft 3 besturingsvlakknooppunten en 5 werkknooppunten.
  • Kubernetes-cluster B heeft 1 besturingsvlakknooppunt en 3 werkknooppunten.
  • 3 exemplaren van de front-endgebruikersinterface (poort 443).
  • 1 exemplaar van de back-enddatabase (poort 80).

Op basis van de vorige tabel moet ze in totaal 19 IP-adressen reserveren in haar subnet:

  • 8 IP-adressen voor de VM's van het AKS Arc-knooppunt in cluster A (één IP per K8s-knooppunt-VM).
  • 4 IP-adressen voor de VM's van het AKS Arc-knooppunt in cluster B (één IP per K8s-knooppunt-VM).
  • 2 IP-adressen voor het uitvoeren van een AKS Arc-upgradebewerking (één IP-adres per AKS Arc-cluster).
  • 2 IP-adressen voor het AKS Arc-besturingsvlak (één IP-adres per AKS Arc-cluster)
  • 3 IP-adressen voor de Kubernetes-service (één IP-adres per exemplaar van de front-endgebruikersinterface, omdat ze allemaal dezelfde poort gebruiken. De back-enddatabase kan een van de drie IP-adressen gebruiken zolang deze een andere poort gebruikt).

Als u doorgaat met dit voorbeeld en dit toevoegt aan de volgende tabel, krijgt u het volgende:

Parameter Aantal IP-adressen Hoe en waar u deze reservering kunt maken
Upgrade van AKS Arc-VM's en K8s-versie 14 IP-adressen reserveren Maak deze reservering via IP-groepen in het logische azure Stack HCI-netwerk.
IP van besturingsvlak Reserveer 2 IP-adressen, één voor AKS Arc-cluster Gebruik de controlPlaneIP parameter om het IP-adres voor het IP-adres van het besturingsvlak door te geven. Zorg ervoor dat dit IP-adres zich in hetzelfde subnet bevindt als het logische Arc-netwerk, maar buiten de IP-groep die is gedefinieerd in het logische Arc-netwerk.
IP-adressen van load balancer 3 IP-adres voor Kubernetes-services, voor Jane's stemtoepassing. Deze IP-adressen worden gebruikt wanneer u een load balancer installeert op cluster A. U kunt de MetalLB Arc-extensie gebruiken of uw eigen load balancer van derden meenemen. Zorg ervoor dat dit IP-adres zich in hetzelfde subnet bevindt als het logische Arc-netwerk, maar buiten de IP-groep die is gedefinieerd in het logische arc-VM-netwerk.

Proxyinstellingen

Proxy-instellingen in AKS worden overgenomen van het onderliggende infrastructuursysteem. De functionaliteit voor het instellen van afzonderlijke proxy-instellingen voor Kubernetes-clusters en het wijzigen van proxy-instellingen wordt nog niet ondersteund.

Vereisten voor netwerkpoorten & cross-VLAN

Wanneer u Azure Stack HCI implementeert, wijst u een aaneengesloten blok van ten minste zes statische IP-adressen toe in het subnet van uw beheernetwerk, zonder adressen die al door de fysieke servers worden gebruikt. Deze IP-adressen worden gebruikt door Azure Stack HCI en de interne infrastructuur (Arc Resource Bridge) voor Arc VM-beheer en AKS Arc. Als uw beheernetwerk dat IP-adressen aan Arc Resource Bridge-gerelateerde Azure Stack HCI-services levert zich op een ander VLAN bevindt dan het logische netwerk dat u hebt gebruikt om AKS-clusters te maken, moet u ervoor zorgen dat de volgende poorten worden geopend om een AKS-cluster te maken en te gebruiken.

Doelpoort Doel Bron Beschrijving Notities over meerdere VLAN-netwerken
22 Logisch netwerk dat wordt gebruikt voor AKS Arc-VM's IP-adressen in beheernetwerk Vereist voor het verzamelen van logboeken voor probleemoplossing. Als u afzonderlijke VLAN's gebruikt, moeten IP-adressen in het beheernetwerk dat wordt gebruikt voor Azure Stack HCI en Arc Resource Bridge toegang krijgen tot de AKS Arc-cluster-VM's op deze poort.
6443 Logisch netwerk dat wordt gebruikt voor AKS Arc-VM's IP-adressen in beheernetwerk Vereist om te communiceren met Kubernetes-API's. Als u afzonderlijke VLAN's gebruikt, moeten IP-adressen in het beheernetwerk dat wordt gebruikt voor Azure Stack HCI en Arc Resource Bridge toegang krijgen tot de AKS Arc-cluster-VM's op deze poort.
55000 IP-adressen in beheernetwerk Logisch netwerk dat wordt gebruikt voor AKS Arc-VM's Cloud Agent gRPC-server Als u afzonderlijke VLAN's gebruikt, moeten de AKS Arc-VM's toegang hebben tot de IP-adressen in het beheernetwerk die worden gebruikt voor het IP-adres van de cloudagent en het cluster-IP op deze poort.
65000 IP-adressen in beheernetwerk Logisch netwerk dat wordt gebruikt voor AKS Arc-VM's GRPC-verificatie van cloudagent Als u afzonderlijke VLAN's gebruikt, moeten de AKS Arc-VM's toegang hebben tot de IP-adressen in het beheernetwerk die worden gebruikt voor het IP-adres van de cloudagent en het cluster-IP op deze poort.

Firewall-URL-uitzonderingen

Zie de netwerkvereisten voor Azure Arc-resourcebrug en Azure Stack HCI 23H2 voor meer informatie over de acceptatielijst voor Azure Arc-firewall/proxy-URL.

Voor de implementatie en werking van Kubernetes-clusters moeten de volgende URL's bereikbaar zijn vanaf alle fysieke knooppunten en AKS Arc-VM's in de implementatie. Zorg ervoor dat deze URL's zijn toegestaan in uw firewallconfiguratie:

URL Poort Service Notities
https://mcr.microsoft.com 443 Microsoft-containerregister Wordt gebruikt voor officiële Microsoft-artefacten, zoals containerinstallatiekopieën.
https://*.his.arc.azure.com 443 Azure Arc-identiteitsservice Wordt gebruikt voor identiteits- en toegangsbeheer.
https://*.dp.kubernetesconfiguration.azure.com 443 Kubernetes Wordt gebruikt voor Azure Arc-configuratie.
https://*.servicebus.windows.net 443 Clusterverbinding Wordt gebruikt om veilig verbinding te maken met Kubernetes-clusters met Azure Arc zonder dat een binnenkomende poort moet worden ingeschakeld op de firewall.
https://guestnotificationservice.azure.com 443 Meldingsservice Wordt gebruikt voor bewerkingen voor gastmeldingen.
https://*.dp.prod.appliances.azure.com 443 Gegevensvlakservice Wordt gebruikt voor gegevensvlakbewerkingen voor resourcebrug (apparaat).
*.data.mcr.microsoft.com
azurearcfork8s.azurecr.io
linuxgeneva-microsoft.azurecr.io
pipelineagent.azurecr.io
ecpacr.azurecr.io
443 Agent downloaden Wordt gebruikt om installatiekopieën en agents te downloaden.
*.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 Metrische gegevens en statuscontrole Wordt gebruikt voor metrische gegevens en het bewaken van telemetrieverkeer.
*.blob.core.windows.net
*.dl.delivery.mp.microsoft.com
*.do.dsp.mp.microsoft.com
443 TCP Wordt gebruikt om installatiekopieën van resourcebrug (apparaat) te downloaden.
https://azurearcfork8sdev.azurecr.io 443 Kubernetes Wordt gebruikt om Azure Arc voor Kubernetes-containerinstallatiekopieën te downloaden.
https://adhs.events.data.microsoft.com 443 Telemetrie ADHS is een telemetrieservice die wordt uitgevoerd binnen het besturingssysteem van het apparaat/de mariner. Wordt periodiek gebruikt om vereiste diagnostische gegevens vanaf besturingsvlakknooppunten naar Microsoft te verzenden. Wordt gebruikt wanneer telemetrie uit de mariner komt, wat een Kubernetes-besturingsvlak betekent.
https://v20.events.data.microsoft.com 443 Telemetrie Wordt periodiek gebruikt om vereiste diagnostische gegevens naar Microsoft te verzenden vanaf de Windows Server-host.
gcr.io 443 Google Container Registry Wordt gebruikt voor officiële Kubernetes-artefacten, zoals containerbasisinstallatiekopieën.
pypi.org 443 Python-pakket Kubernetes- en Python-versies valideren.
*.pypi.org 443 Python-pakket Kubernetes- en Python-versies valideren.
https://hybridaks.azurecr.io 443 Containerinstallatiekopie Vereist voor toegang tot de installatiekopie van de HybridAKS-operator.
aka.ms 443 az extensions Vereist voor het downloaden van Azure CLI-extensies, zoals aksarc en connectedk8s.
*.login.microsoft.com 443 Azure Vereist om de Azure Resource Manager-tokens op te halen en bij te werken.
sts.windows.net 443 Azure Arc Voor scenario's voor clusterverbinding en aangepaste locatie.
hybridaksstorage.z13.web.core.windows.net 443 Azure Stack HCI Statische AKSHCI-website die wordt gehost in Azure Storage.
raw.githubusercontent.com 443 GitHub Wordt gebruikt voor GitHub.
www.microsoft.com 80 Officiële Website van Microsoft. Officiële Website van Microsoft.
*.prod.do.dsp.mp.microsoft.com 443 Microsoft Update Installatiekopieën van resourcebrug (apparaat) downloaden.
files.pythonhosted.org 443 Python-pakket Python-pakket.

Volgende stappen

Creatie logische netwerken voor Kubernetes-clusters in Azure Stack HCI 23H2