AKS som aktiveras av Azure Arc-nätverkskrav

Gäller för: Azure Stack HCI, version 23H2

Den här artikeln beskriver grundläggande nätverksbegrepp för dina virtuella datorer och program i AKS som aktiveras av Azure Arc. Artikeln beskriver också de nödvändiga nätverkskraven för att skapa Kubernetes-kluster. Vi rekommenderar att du samarbetar med en nätverksadministratör för att tillhandahålla och konfigurera de nätverksparametrar som krävs för att distribuera AKS som aktiverats av Arc.

I den här konceptuella artikeln introduceras följande viktiga komponenter. Dessa komponenter behöver en statisk IP-adress för att AKS Arc-klustret och programmen ska kunna skapa och fungera korrekt:

  • Virtuella AKS-klusterdatorer
  • AKS-kontrollplanets IP-adress
  • Lastbalanserare för containerbaserade program

Nätverk för virtuella AKS-klusterdatorer

Kubernetes-noder distribueras som specialiserade virtuella datorer i AKS som aktiveras av Arc. Dessa virtuella datorer tilldelas IP-adresser för att aktivera kommunikation mellan Kubernetes-noder. AKS Arc använder logiska Azure Stack HCI-nätverk för att tillhandahålla IP-adresser och nätverk för de underliggande virtuella datorerna i Kubernetes-klustren. Mer information om logiska nätverk finns i Logiska nätverk för Azure Stack HCI. Du måste planera att reservera en IP-adress per VIRTUELL AKS-klusternod i din Azure Stack HCI-miljö.

Anteckning

Statisk IP är det enda läge som stöds för att tilldela en IP-adress till virtuella AKS Arc-datorer. Detta beror på att Kubernetes kräver att IP-adressen som tilldelats till en Kubernetes-nod är konstant under kubernetes-klustrets livscykel.

Följande parametrar krävs för att använda ett logiskt nätverk för aks arc-klusterskapandeåtgärd:

Parameter för logiskt nätverk Description Obligatorisk parameter för AKS Arc-kluster
--address-prefixes AddressPrefix för nätverket. För närvarande stöds endast ett adressprefix. Användning: --address-prefixes "10.220.32.16/24". Stöds
--dns-servers Blankstegsavgränsad lista över DNS-serverns IP-adresser. Användning: --dns-servers 10.220.32.16 10.220.32.17. Stöds
--gateway Gateway. Gatewayens IP-adress måste ligga inom adressprefixets omfång. Användning: --gateway 10.220.32.16. Stöds
--ip-allocation-method Ip-adressallokeringsmetoden. Värden som stöds är "Statiska". Användning: --ip-allocation-method "Static". Stöds
--ip-pool-start START-IP-adressen för din IP-pool. Adressen måste vara inom adressprefixets intervall. Användning: --ip-pool-start "10.220.32.18". Stöds
--ip-pool-end IP-adressens slutadress för din IP-pool. Adressen måste vara inom adressprefixets intervall. Användning: --ip-pool-end "10.220.32.38". Stöds
--vm-switch-name Namnet på den virtuella datorväxeln. Användning: --vm-switch-name "vm-switch-01". Stöds

Kontrollplanets IP-adress

Kubernetes använder ett kontrollplan för att säkerställa att alla komponenter i Kubernetes-klustret hålls i önskat tillstånd. Kontrollplanet hanterar och underhåller även de arbetsnoder som innehåller de containerbaserade programmen. AKS som aktiveras av Arc distribuerar KubeVIP-lastbalanseraren för att säkerställa att API-serverns IP-adress för Kubernetes-kontrollplanet alltid är tillgänglig. Den här KubeVIP-instansen kräver en enda oföränderlig "kontrollplanets IP-adress" för att fungera korrekt.

Anteckning

Kontrollplanets IP-adress är en obligatorisk parameter för att skapa ett Kubernetes-kluster. Du måste se till att kontrollplanets IP-adress för ett Kubernetes-kluster inte överlappar något annat, inklusive logiska arc-VM-nätverk, ip-adresser för infrastrukturnätverk, lastbalanserare osv. Kontrollplanets IP-adress måste också ligga inom omfånget för adressprefixet för det logiska nätverket, men utanför IP-poolen. Det beror på att IP-poolen endast används för virtuella datorer, och om du väljer en IP-adress från IP-poolen för kontrollplanet kan en IP-adresskonflikt uppstå. Överlappande IP-adresser kan leda till oväntade fel för både AKS-klustret och andra platser där IP-adressen används. Du måste planera att reservera en IP-adress per Kubernetes-kluster i din miljö.

Lastbalanserings-IP-adresser för containerbaserade program

Huvudsyftet med en lastbalanserare är att distribuera trafik över flera noder i ett Kubernetes-kluster. Den här belastningsutjämningen kan bidra till att förhindra driftstopp och förbättra programmens övergripande prestanda. AKS stöder följande alternativ för att distribuera en lastbalanserare för ditt Kubernetes-kluster:

Oavsett om du väljer MetalLB Arc-tillägget eller tar med din egen lastbalanserare måste du ange en uppsättning IP-adresser till lastbalanserarens tjänst. Du kan välja mellan följande alternativ:

  • Ange IP-adresser för dina tjänster från samma undernät som de virtuella AKS Arc-datorerna.
  • Använd ett annat nätverk och en lista över IP-adresser om programmet behöver extern belastningsutjämning.

Oavsett vilket alternativ du väljer måste du se till att IP-adresserna som allokerats till lastbalanseraren inte är i konflikt med IP-adresserna i det logiska nätverket eller kontrollplanets IP-adresser för dina Kubernetes-kluster. Motstridiga IP-adresser kan leda till oförutsedda fel i din AKS-distribution och dina program.

Enkel IP-adressplanering för Kubernetes-kluster och -program

I följande scenarioguide reserverar du IP-adresser från ett enda nätverk för dina Kubernetes-kluster och -tjänster. Det här är det enklaste och enklaste scenariot för IP-adresstilldelning.

KRAV för IP-adress Minsta antal IP-adresser Hur och var du gör den här reservationen
IP-adresser för virtuella AKS Arc-datorer Reservera en IP-adress för varje arbetsnod i kubernetes-klustret. Om du till exempel vill skapa 3 nodpooler med 3 noder i varje nodpool måste du ha 9 IP-adresser i DIN IP-pool. Reservera IP-adresser för virtuella AKS Arc-datorer via IP-pooler i det logiska arc-VM-nätverket.
IP-adresser för uppgradering av AKS Arc K8s-version Eftersom AKS Arc utför löpande uppgraderingar reserverar du en IP-adress för varje AKS Arc-kluster för uppgraderingsåtgärder för Kubernetes-versioner. Reservera IP-adresser för K8s-versionsuppgraderingsåtgärd via IP-pooler i det logiska arc-VM-nätverket.
Kontrollplanets IP-adress Reservera en IP-adress för varje Kubernetes-kluster i din miljö. Om du till exempel vill skapa totalt 5 kluster reserverar du 5 IP-adresser, en för varje Kubernetes-kluster. Reservera IP-adresser för kontrollplanets IP-adresser i samma undernät som det logiska Arc VM-nätverket, men utanför den angivna IP-poolen.
Ip-adresser för lastbalanserare Antalet reserverade IP-adresser beror på programdistributionsmodellen. Som utgångspunkt kan du reservera en IP-adress för varje Kubernetes-tjänst. Reservera IP-adresser för kontrollplanets IP-adresser i samma undernät som det logiska Arc VM-nätverket, men utanför den angivna IP-poolen.

Exempel på genomgång för IP-adressreservation för Kubernetes-kluster och -program

Jane är IT-administratör och har precis börjat med AKS aktiverat av Azure Arc. Hon vill distribuera två Kubernetes-kluster: Kubernetes-kluster A och Kubernetes-kluster B i sitt Azure Stack HCI-kluster. Hon vill också köra ett röstningsprogram ovanpå kluster A. Det här programmet har tre instanser av klientdelsgränssnittet som körs i de två klustren och en instans av serverdelsdatabasen. Alla hennes AKS-kluster och -tjänster körs i ett enda nätverk, med ett enda undernät.

  • Kubernetes-kluster A har 3 kontrollplansnoder och 5 arbetsnoder.
  • Kubernetes-klustret B har en kontrollplansnod och 3 arbetsnoder.
  • 3 instanser av klientdelsgränssnittet (port 443).
  • 1 instans av serverdelsdatabasen (port 80).

Baserat på föregående tabell måste hon reservera totalt 19 IP-adresser i sitt undernät:

  • 8 IP-adresser för de virtuella AKS Arc-noddatorerna i kluster A (en IP per virtuell dator med K8-nod).
  • 4 IP-adresser för de virtuella AKS Arc-noddatorerna i kluster B (en VIRTUELL IP-adress per K8-nod).
  • 2 IP-adresser för att köra AKS Arc-uppgraderingsåtgärden (en IP-adress per AKS Arc-kluster).
  • 2 IP-adresser för AKS Arc-kontrollplanet (en IP-adress per AKS Arc-kluster)
  • 3 IP-adresser för Kubernetes-tjänsten (en IP-adress per instans av klientdelsgränssnittet, eftersom alla använder samma port. Serverdelsdatabasen kan använda någon av de tre IP-adresserna så länge den använder en annan port).

Om du fortsätter med det här exemplet och lägger till det i följande tabell får du:

Parameter Antal IP-adresser Hur och var du gör den här reservationen
Uppgradering av AKS Arc-vm och K8s-version Reservera 14 IP-adresser Gör den här reservationen via IP-pooler i det logiska Azure Stack HCI-nätverket.
Kontrollplanets IP-adress Reservera 2 IP-adresser, en för AKS Arc-kluster Använd parametern controlPlaneIP för att skicka IP-adressen för kontrollplanets IP-adress. Kontrollera att den här IP-adressen finns i samma undernät som det logiska Arc-nätverket, men utanför IP-poolen som definierats i det logiska Arc-nätverket.
IP-adresser för lastbalanserare 3 IP-adress för Kubernetes-tjänster för Janes röstningsprogram. Dessa IP-adresser används när du installerar en lastbalanserare i kluster A. Du kan använda MetalLB Arc-tillägget eller ta med din egen lastbalanserare från tredje part. Kontrollera att den här IP-adressen finns i samma undernät som det logiska Arc-nätverket, men utanför IP-poolen som definierats i det logiska Arc VM-nätverket.

Proxyinställningar

Proxyinställningar i AKS ärvs från det underliggande infrastruktursystemet. Funktionen för att ange enskilda proxyinställningar för Kubernetes-kluster och ändra proxyinställningar stöds inte ännu.

Krav för nätverksport & mellan VLAN

När du distribuerar Azure Stack HCI allokerar du ett sammanhängande block med minst sex statiska IP-adresser i hanteringsnätverkets undernät och utelämnar adresser som redan används av de fysiska servrarna. Dessa IP-adresser används av Azure Stack HCI och intern infrastruktur (Arc Resource Bridge) för hantering av virtuella Arc-datorer och AKS Arc. Om ditt hanteringsnätverk som tillhandahåller IP-adresser till Arc Resource Bridge-relaterade Azure Stack HCI-tjänster finns på ett annat VLAN än det logiska nätverk som du använde för att skapa AKS-kluster, måste du se till att följande portar öppnas för att skapa och använda ett AKS-kluster.

Målport Mål Källa Beskrivning Anteckningar om nätverk mellan virtuella nätverk
22 Logiskt nätverk som används för virtuella AKS Arc-datorer IP-adresser i hanteringsnätverket Krävs för att samla in loggar för felsökning. Om du använder separata VLAN måste IP-adresser i hanteringsnätverket som används för Azure Stack HCI och Arc Resource Bridge komma åt de virtuella AKS Arc-klusterdatorerna på den här porten.
6443 Logiskt nätverk som används för virtuella AKS Arc-datorer IP-adresser i hanteringsnätverket Krävs för att kommunicera med Kubernetes-API:er. Om du använder separata VLAN måste IP-adresser i hanteringsnätverket som används för Azure Stack HCI och Arc Resource Bridge komma åt de virtuella AKS Arc-klusterdatorerna på den här porten.
55 000 IP-adresser i hanteringsnätverket Logiskt nätverk som används för virtuella AKS Arc-datorer Cloud Agent gRPC-server Om du använder separata VLAN måste de virtuella AKS Arc-datorerna komma åt IP-adresserna i hanteringsnätverket som används för molnagentens IP-adress och kluster-IP på den här porten.
65000 IP-adresser i hanteringsnätverket Logiskt nätverk som används för virtuella AKS Arc-datorer Cloud Agent gRPC-autentisering Om du använder separata VLAN måste de virtuella AKS Arc-datorerna komma åt IP-adresserna i hanteringsnätverket som används för molnagentens IP-adress och kluster-IP på den här porten.

Undantag för brandväggs-URL

Information om azure Arc-brandväggen/proxy-URL:ens tillåtna lista finns i Nätverkskraven för Azure Arc-resursbryggan och Nätverkskrav för Azure Stack HCI 23H2.

För distribution och drift av Kubernetes-kluster måste följande URL:er kunna nås från alla fysiska noder och virtuella AKS Arc-datorer i distributionen. Kontrollera att dessa URL:er tillåts i brandväggskonfigurationen:

URL Port Tjänst Kommentarer
https://mcr.microsoft.com 443 Microsoft Container Registry Används för officiella Microsoft-artefakter, till exempel containeravbildningar.
https://*.his.arc.azure.com 443 Azure Arc-identitetstjänst Används för identitets- och åtkomstkontroll.
https://*.dp.kubernetesconfiguration.azure.com 443 Kubernetes Används för Azure Arc-konfiguration.
https://*.servicebus.windows.net 443 Klusteranslutning Används för att ansluta på ett säkert sätt till Azure Arc-aktiverade Kubernetes-kluster utan att någon inkommande port måste aktiveras i brandväggen.
https://guestnotificationservice.azure.com 443 Meddelandetjänst Används för gästmeddelandeåtgärder.
https://*.dp.prod.appliances.azure.com 443 Dataplanstjänst Används för dataplansåtgärder för Resursbrygga (installation).
*.data.mcr.microsoft.com
azurearcfork8s.azurecr.io
linuxgeneva-microsoft.azurecr.io
pipelineagent.azurecr.io
ecpacr.azurecr.io
443 Ladda ned agent Används för att ladda ned bilder och agenter.
*.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 Mått och hälsoövervakning Används för mått och övervakning av telemetritrafik.
*.blob.core.windows.net
*.dl.delivery.mp.microsoft.com
*.do.dsp.mp.microsoft.com
443 TCP Används för att ladda ned avbildningar av resursbryggor (installation).
https://azurearcfork8sdev.azurecr.io 443 Kubernetes Används för att ladda ned Azure Arc för Kubernetes-containeravbildningar.
https://adhs.events.data.microsoft.com 443 Telemetri ADHS är en telemetritjänst som körs i operativsystemet appliance/mariner. Används regelbundet för att skicka nödvändiga diagnostikdata till Microsoft från kontrollplansnoder. Används när telemetri kommer från marinen, vilket innebär alla Kubernetes-kontrollplan.
https://v20.events.data.microsoft.com 443 Telemetri Används regelbundet för att skicka nödvändiga diagnostikdata till Microsoft från Windows Server-värden.
gcr.io 443 Google-containerregister Används för officiella Kubernetes-artefakter, till exempel containerbasavbildningar.
pypi.org 443 Python-paket Verifiera Kubernetes- och Python-versioner.
*.pypi.org 443 Python-paket Verifiera Kubernetes- och Python-versioner.
https://hybridaks.azurecr.io 443 Containeravbildning Krävs för att få åtkomst till HybridAKS-operatorns avbildning.
aka.ms 443 az extensions Krävs för att ladda ned Azure CLI-tillägg som aksarc och connectedk8s.
*.login.microsoft.com 443 Azure Krävs för att hämta och uppdatera Azure Resource Manager-token.
sts.windows.net 443 Azure Arc För klusteranslutning och anpassat platsbaserat scenario.
hybridaksstorage.z13.web.core.windows.net 443 Azure Stack HCI En statisk AKSHCI-webbplats som finns i Azure Storage.
raw.githubusercontent.com 443 GitHub Används för GitHub.
www.microsoft.com 80 Microsofts officiella webbplats. Microsofts officiella webbplats.
*.prod.do.dsp.mp.microsoft.com 443 Microsoft Update Nedladdning av resursbrygga (installation) av avbildning.
files.pythonhosted.org 443 Python-paket Python-paket.

Nästa steg

Skapa logiska nätverk för Kubernetes-kluster på Azure Stack HCI 23H2