Delen via


Azure Container Networking Interface (CNI) Overlay-netwerken

Met Azure CNI-overlay worden de clusterknooppunten geïmplementeerd in een VNet-subnet (Virtual Network) van Azure. Pods worden toegewezen IP-adressen van een privé-CIDR logisch anders dan het VNet dat als host fungeert voor de knooppunten. Pod- en knooppuntverkeer binnen het cluster maken gebruik van een Overlay-netwerk. Network Address Translation (NAT) gebruikt het IP-adres van het knooppunt om resources buiten het cluster te bereiken. Deze oplossing bespaart een aanzienlijke hoeveelheid VNet-IP-adressen en stelt u in staat om uw cluster te schalen naar grote grootten. Een extra voordeel is dat u de privé-CIDR opnieuw kunt gebruiken in verschillende AKS-clusters, waardoor de IP-ruimte die beschikbaar is voor toepassingen in containers in Azure Kubernetes Service (AKS) wordt uitgebreid.

Overzicht van Overlay-netwerken

In Overlay-netwerken krijgen alleen de Kubernetes-clusterknooppunten IP-adressen van subnetten toegewezen. Pods ontvangen IP-adressen van een persoonlijke CIDR die is opgegeven op het moment dat het cluster is gemaakt. Aan elk knooppunt wordt een /24 adresruimte toegewezen die is uitgesneden uit dezelfde CIDR. Extra knooppunten die zijn gemaakt wanneer u een cluster uitschaalt, ontvangen /24 automatisch adresruimten van dezelfde CIDR. Azure CNI wijst IP-adressen toe aan pods vanuit deze /24 ruimte.

Er wordt een afzonderlijk routeringsdomein gemaakt in de Azure-netwerkstack voor de privé-CIDR-ruimte van de pod, waarmee een Overlay-netwerk wordt gemaakt voor directe communicatie tussen pods. Het is niet nodig om aangepaste routes in te richten op het clustersubnet of een inkapselingsmethode te gebruiken om verkeer tussen pods te tunnelen. Dit biedt connectiviteitsprestaties tussen pods op dezelfde manier als virtuele machines in een VNet. Workloads die in de pods worden uitgevoerd, zijn niet eens op de hoogte dat het bewerken van netwerkadressen plaatsvindt.

Een diagram met twee knooppunten met drie pods die elk worden uitgevoerd in een Overlay-netwerk. Podverkeer naar eindpunten buiten het cluster wordt gerouteerd via NAT.

Communicatie met eindpunten buiten het cluster, zoals on-premises en gekoppelde VNets, gebeurt met behulp van het IP-adres van het knooppunt via NAT. Azure CNI vertaalt het bron-IP-adres (Overlay-IP van de pod) van het verkeer naar het primaire IP-adres van de VIRTUELE machine, waardoor de Azure-netwerkstack het verkeer naar de bestemming kan routeren. Eindpunten buiten het cluster kunnen niet rechtstreeks verbinding maken met een pod. U moet de toepassing van de pod publiceren als een Kubernetes Load Balancer-service om deze bereikbaar te maken op het VNet.

U kunt uitgaande (uitgaande) connectiviteit met internet bieden voor Overlay-pods met behulp van een Standard SKU Load Balancer of Managed NAT Gateway. U kunt ook uitgaand verkeer beheren door het naar een firewall te leiden met behulp van door de gebruiker gedefinieerde routes in het clustersubnet.

U kunt toegangsbeheerobjectconnectiviteit met het cluster configureren met behulp van een ingangscontroller, zoals Nginx of HTTP-toepassingsroutering. U kunt geen toegangsbeheerobjectconnectiviteit configureren met behulp van Azure-app Gateway. Zie Beperkingen met Azure CNI-overlay voor meer informatie.

Verschillen tussen kubenet en Azure CNI-overlay

De volgende tabel bevat een gedetailleerde vergelijking tussen kubenet en Azure CNI Overlay:

Gebied Azure CNI-overlay kubenet
Clusterschaal 5000 knooppunten en 250 pods/knooppunten 400 knooppunten en 250 pods/knooppunten
Netwerkconfiguratie Eenvoudig- geen extra configuraties vereist voor podnetwerken Complex: vereist routetabellen en UDR's in het clustersubnet voor podnetwerken
Prestaties van podconnectiviteit Prestaties op basis van vm's in een VNet Extra hop voegt kleine latentie toe
Kubernetes-netwerkbeleid Azure-netwerkbeleid, Calico, Cilium Calico
Ondersteunde besturingssysteemplatforms Linux en Windows Server 2022, 2019 Alleen Linux

PLANNING van IP-adressen

Clusterknooppunten

Zorg er bij het instellen van uw AKS-cluster voor dat uw VNet-subnetten voldoende ruimte hebben om te groeien voor toekomstige schaalaanpassing. U kunt elke knooppuntgroep toewijzen aan een toegewezen subnet.

Een /24 subnet kan maximaal 251 knooppunten bevatten, omdat de eerste drie IP-adressen zijn gereserveerd voor beheertaken.

Pods

De Overlay-oplossing wijst een /24 adresruimte toe voor pods op elk knooppunt vanuit de privé-CIDR die u opgeeft tijdens het maken van het cluster. De /24 grootte is vast en kan niet worden verhoogd of verlaagd. U kunt maximaal 250 pods uitvoeren op een knooppunt.

Houd rekening met de volgende factoren bij het plannen van IP-adresruimte voor pods:

  • Zorg ervoor dat de privé-CIDR groot genoeg is om adresruimten te bieden /24 voor nieuwe knooppunten om toekomstige clusteruitbreiding te ondersteunen.
  • Dezelfde CIDR-ruimte voor pods kan worden gebruikt op meerdere onafhankelijke AKS-clusters in hetzelfde VNet.
  • De CIDR-ruimte voor pods mag niet overlappen met het clustersubnetbereik.
  • CiDR-ruimte voor pods mag niet overlappen met rechtstreeks verbonden netwerken (zoals VNet-peering, ExpressRoute of VPN). Als extern verkeer bron-IP-adressen in het podCIDR-bereik heeft, moet het worden omgezet naar een niet-overlappend IP-adres via SNAT om te communiceren met het cluster.

Adresbereik van Kubernetes Service

De grootte van het serviceadres CIDR is afhankelijk van het aantal clusterservices dat u wilt maken. Het moet kleiner zijn dan /12. Dit bereik mag niet overlappen met het CIDR-bereik van de pod, het clustersubnetbereik en het IP-bereik dat wordt gebruikt in gekoppelde VNets en on-premises netwerken.

IP-adres van DNS-service van Kubernetes

Dit IP-adres bevindt zich binnen het Kubernetes-serviceadresbereik dat wordt gebruikt door clusterservicedetectie. Gebruik niet het eerste IP-adres in uw adresbereik, omdat dit adres wordt gebruikt voor het kubernetes.default.svc.cluster.local adres.

Netwerkbeveiligingsgroepen

Pod-naar-podverkeer met Azure CNI-overlay wordt niet ingekapseld en regels voor subnetbeveiligingsgroepen worden toegepast. Als de subnet-NSG regels voor weigeren bevat die van invloed zijn op het CIDR-verkeer van de pod, moet u ervoor zorgen dat de volgende regels zijn ingesteld om de juiste clusterfunctionaliteit te garanderen (naast alle AKS-vereisten voor uitgaand verkeer):

  • Verkeer van het knooppunt CIDR naar het knooppunt CIDR op alle poorten en protocollen
  • Verkeer van het knooppunt CIDR naar de POD CIDR op alle poorten en protocollen (vereist voor routering van serviceverkeer)
  • Verkeer van de POD CIDR naar de POD CIDR op alle poorten en protocollen (vereist voor pod-naar-pod- en pod-naar-serviceverkeer, inclusief DNS)

Verkeer van een pod naar een bestemming buiten het CIDR-blok van de pod maakt gebruik van SNAT om het bron-IP-adres in te stellen op het IP-adres van het knooppunt waarop de pod wordt uitgevoerd.

Als u verkeer tussen workloads in het cluster wilt beperken, raden we u aan netwerkbeleid te gebruiken.

Maximum aantal pods per knooppunt

U kunt het maximum aantal pods per knooppunt configureren op het moment dat het cluster wordt gemaakt of wanneer u een nieuwe knooppuntgroep toevoegt. De standaard- en maximumwaarde voor Azure CNI-overlay is 250.en de minimumwaarde is 10. De maximale pods per knooppuntwaarde die tijdens het maken van een knooppuntgroep zijn geconfigureerd, zijn alleen van toepassing op de knooppunten in die knooppuntgroep.

Een netwerkmodel kiezen dat moet worden gebruikt

Azure CNI biedt twee IP-adresseringsopties voor pods: de traditionele configuratie waarmee VNet-IP's worden toegewezen aan pods en Overlay-netwerken. De keuze welke optie u voor uw AKS-cluster wilt gebruiken, is een balans tussen flexibiliteit en geavanceerde configuratiebehoeften. De volgende overwegingen helpen om een overzicht te geven wanneer elk netwerkmodel mogelijk het meest geschikt is.

Gebruik Overlay-netwerken wanneer:

  • U wilt schalen naar een groot aantal pods, maar u hebt beperkte IP-adresruimte in uw VNet.
  • De meeste podcommunicatie bevindt zich in het cluster.
  • U hebt geen geavanceerde AKS-functies nodig, zoals virtuele knooppunten.

Gebruik de traditionele VNet-optie wanneer:

  • U hebt beschikbare IP-adresruimte.
  • De meeste podcommunicatie is naar resources buiten het cluster.
  • Resources buiten het cluster moeten pods rechtstreeks bereiken.
  • U hebt geavanceerde AKS-functies nodig, zoals virtuele knooppunten.

Beperkingen met Azure CNI-overlay

Azure CNI Overlay heeft de volgende beperkingen:

  • U kunt Application Gateway niet gebruiken als een toegangsbeheerobjectcontroller (AGIC).
  • Beschikbaarheidssets voor virtuele machines (VMAS) worden niet ondersteund.
  • U kunt virtuele machines uit de DCsv2-serie niet gebruiken in knooppuntgroepen. Als u wilt voldoen aan de vereisten voor Confidential Computing, kunt u in plaats daarvan vertrouwelijke VM's uit de DCasv5- of DCadsv5-serie gebruiken.
  • Als u uw eigen subnet gebruikt om het cluster te implementeren, moeten de namen van het subnet, VNet en de resourcegroep met het VNet 63 tekens of minder zijn. Deze namen worden gebruikt als labels in AKS-werkknooppunten en zijn onderworpen aan kubernetes-labelsyntaxisregels.