Azure Kubernetes Service (AKS) CNI-netwerken overzicht

Kubernetes maakt gebruik van CNI-invoegtoepassingen (Container Networking Interface) voor het beheren van netwerken in Kubernetes-clusters. CNI-invoegtoepassingen verwerken het toewijzen van IP-adressen aan pods, het routeren van netwerkverkeer tussen pods, het routeren van Kubernetes-serviceverkeer en meer.

Azure Kubernetes Service (AKS) biedt meerdere CNI-netwerkconfiguraties die u in uw clusters kunt gebruiken, afhankelijk van uw netwerkvereisten. Wanneer u podnetwerken plant, kiest u een IPAM-optie (IP ADDRESS Management) en een routerings- en transporttechnologie voor het netwerkgegevensvlak.

Netwerkmodellen in AKS

Het kiezen van een IPAM-optie voor uw AKS-cluster is grotendeels afhankelijk van welk netwerkmodel het beste past bij uw behoeften. Elk model heeft zijn eigen voor- en nadelen die u moet overwegen bij het plannen van uw AKS-cluster.

AKS maakt gebruik van twee hoofdnetwerkmodellen:

  • Overlaynetwerk:

    • Hiermee bespaart u IP-adresruimte voor virtuele netwerken (VNets) met behulp van logisch gescheiden CIDR-bereiken (Classless Inter-Domain Routing) voor pods.
    • Biedt maximale ondersteuning voor clusterschaalgrootte.
    • Biedt eenvoudig beheer van IP-adressen.
  • Egaal netwerk:

    • Biedt volledige VNet-connectiviteit voor pods. Pods kunnen rechtstreeks worden bereikt via hun privé-IP-adres vanuit verbonden netwerken.
    • Vereist grote, niet-gefragmenteerde IP-adresruimte voor VNets.

Beide netwerkmodellen ondersteunen meerdere IPAM-opties. De belangrijkste verschillen tussen de modellen zijn hoe u IP-adressen van pods toewijst en hoe verkeer het cluster verlaat.

Voor Azure CNI staat de IPAM-optie los van het netwerkgegevensvlak. U kunt het gegevensvlak Azure CNI Powered by Cilium gebruiken met Azure CNI Overlay, Azure CNI Pod Subnet of Azure CNI Node Subnet. Zie Pod Networking voor AKS plannen voor meer informatie over IPAM- en gegevensvlakopties.

Overlaynetwerken

Overlay-netwerken in AKS wijst IP-adressen van pods toe vanuit een afzonderlijke POD CIDR die verschilt van het subnet van het knooppunt in het VNet. Deze configuratie biedt eenvoudigere en vaak betere schaalbaarheid dan het platte netwerkmodel.

In overlaynetwerken kunnen pods rechtstreeks met elkaar communiceren. Verkeer dat het cluster verlaat, wordt Source Network Address Translated (SNAT'd) naar het IP-adres van het knooppunt. Binnenkomend IP-verkeer van pods wordt gerouteerd via een service, zoals een load balancer. Het IP-adres van de pod wordt vervolgens verborgen achter het IP-adres van het knooppunt. Deze aanpak vermindert het aantal IP-adressen dat nodig is voor virtuele netwerken in uw clusters.

Diagram met twee knooppunten, met elk drie pods, die worden uitgevoerd in een overlaynetwerk. Podverkeer naar eindpunten buiten het cluster wordt gerouteerd via netwerkadresomzetting.

Voor overlaynetwerken biedt AKS Azure CNI-overlay. Gebruik deze IPAM-optie voor de meeste scenario's.

Platte netwerken

In tegenstelling tot een overlaynetwerk wijst een plat netwerkmodel in AKS IP-adressen toe aan pods vanuit een subnet in hetzelfde Azure virtueel netwerk als de AKS-knooppunten. Voor privénetwerkverkeer is het bron-IP-adres dat een bestemming ziet, afhankelijk van de IPAM-optie. Azure CNI Pod Subnet behoudt het IP-adres van de pod in verbonden virtuele netwerken. Met Azure subnet van het CNI-knooppunt zien bestemmingen in het virtuele clusternetwerk het IP-adres van de pod, maar bestemmingen buiten het virtuele clusternetwerk zien het IP-adres van het knooppunt. Wanneer uitgaand internetverkeer is ingeschakeld, bepaalt de geconfigureerde uitgaande methode van het cluster het openbare bron-IP-adres dat internetbestemmingen zien.

Diagram dat twee knooppunten toont, elk met drie pods, die worden uitgevoerd in een plat netwerkmodel.

AKS biedt twee Azure CNI IPAM-opties voor platte netwerken:

  • Azure CNI Pod Subnet, de aanbevolen IPAM-optie voor platte netwerkscenario's.
  • Azure CNI Node Subnet, een verouderd CNI-model voor platte netwerken. Over het algemeen raden we u aan deze alleen te gebruiken als u een beheerd virtueel netwerk voor uw cluster nodig hebt.

Een IPAM-optie voor AKS kiezen

Houd rekening met verschillende factoren bij het kiezen van een IPAM-optie. Elk netwerkmodel heeft zijn eigen voor- en nadelen. De beste keuze voor uw cluster is afhankelijk van uw specifieke vereisten.

Usecasevergelijking

IPAM-optie Netwerkmodel Hoogtepunten van gebruiksscenario's
Azure CNI-Overlay Overlay • Het beste voor het besparen van IP-adressen voor virtuele netwerken
• Maximum aantal knooppunten dat wordt ondersteund door API-server plus 250 pods per knooppunt
• Eenvoudigere configuratie
• Geen directe IP-toegang tot externe pods
Azure CNI Pod-Subnet Flat • Directe toegang tot externe pods
• Modi voor efficiënt IP-gebruik voor virtuele netwerken of ondersteuning op grote clusterschaal (preview)
Kubenet (verouderd) Overlay • Wordt op 31 maart 2028 buiten gebruik gesteld; migreren naar Azure CNI-overlay vóór de buitengebruikstellingsdatum
• Prioriteitstelling van IP-instandhouding
• Beperkte schaal
• Handmatig routebeheer
Azure CNI Node-subnet (verouderd) Flat • Directe toegang tot externe pods
• Eenvoudigere configuratie
• Beperkte schaal
• Inefficiënt gebruik van IP-adressen voor virtuele netwerken

Vergelijking van functies

Feature Azure CNI-Overlay Azure CNI Pod-Subnet Azure CNI Node-subnet (verouderd) Kubenet (verouderd)
Implementatie van een cluster in een bestaand of nieuw virtueel netwerk Supported Supported Supported Ondersteund met handmatig door de gebruiker gedefinieerde routes (UDR's)
Connectiviteit tussen pod en virtuele machine (VM), met de VM in hetzelfde virtuele netwerk of een gekoppeld virtueel netwerk Pod gestart Beide manieren Beide manieren Pod gestart
On-premises toegang via VPN (virtueel particulier netwerk) en Azure ExpressRoute Pod gestart Beide manieren Beide manieren Pod gestart
Toegang tot service-eindpunten Supported Supported Supported Supported
Blootstelling van diensten via load balancer Supported Supported Supported Supported
Blootstelling van services via de controller voor inkomend verkeer van Azure Application Gateway Supported Supported Supported Supported
Blootstelling van services via Application Gateway voor containers Supported Supported Supported Niet ondersteund
Windows-knooppuntgroepen Supported Supported Supported Niet ondersteund
Standaard Azure DNS en privézones Supported Supported Supported Supported
Delen van subnetten van virtuele netwerken in meerdere clusters Supported Supported Supported Niet ondersteund

Ondersteuningsbereik tussen netwerkmodellen

Afhankelijk van de IPAM-optie die u gebruikt, kunt u de virtuele netwerkbronnen voor uw cluster op een van de volgende manieren implementeren:

  • Het Azure-platform kan automatisch de virtuele netwerkbronnen maken en configureren wanneer u een AKS-cluster maakt.
  • U kunt de virtuele netwerkbronnen handmatig maken en configureren en deze koppelen aan deze resources wanneer u uw AKS-cluster maakt.

Hoewel mogelijkheden zoals service-eindpunten of UDR's worden ondersteund, definiëren de ondersteuningsbeleidsregels voor AKS welke wijzigingen u kunt aanbrengen. Voorbeeld:

  • Als u handmatig de virtuele netwerkresources voor een AKS-cluster maakt, wordt u ondersteund bij het configureren van uw eigen UDR's of service-eindpunten.
  • Als het Azure-platform automatisch de virtuele netwerkresources voor uw AKS-cluster maakt, kunt u deze door AKS beheerde resources niet handmatig wijzigen om uw eigen UDR's of service-eindpunten te configureren.

Vereisten voor AKS CNI-netwerken

Houd rekening met deze vereisten en overwegingen wanneer u uw netwerkconfiguratie voor AKS plant:

  • Tenzij u een geïsoleerd netwerkcluster gebruikt, moet het virtuele netwerk voor het AKS-cluster uitgaande internetverbinding met de vereiste eindpunten toestaan. Netwerkisolatieclusters kunnen worden opgestart zonder uitgaande internetverbinding.

  • AKS-adresbereiken hebben de volgende beperkingen:

    Gereserveerd CIDR-bereik Van toepassing op: Condition
    169.254.0.0/16 Adresbereiken voor virtuele netwerken van Kubernetes-service, pods en clusters Alle AKS-clusters
    192.0.2.0/24 Adresbereiken voor virtuele netwerken van Kubernetes-service, pods en clusters Alle AKS-clusters
    172.30.0.0/16 Adresbereiken voor virtuele netwerken van Kubernetes-service, pods en clusters Alle AKS-clusters
    172.31.0.0/16 Adresbereiken voor virtuele netwerken van Kubernetes-service, pods en clusters Alle AKS-clusters

    AKS weigert pod-CIDR's die een gereserveerd bereik overlappen tijdens het maken of bijwerken van het cluster. Is bijvoorbeeld 172.16.0.0/12 niet geldig omdat het bereik het bevat 172.30.0.0/16 en 172.31.0.0/16.

  • In scenario's waarin u uw eigen virtuele netwerk gebruikt, moet de clusteridentiteit die het AKS-cluster gebruikt ten minste machtigingen voor netwerkbijdrager hebben voor het subnet in uw virtuele netwerk.

  • Als u een aangepaste rol definieert in plaats van de ingebouwde rol Netwerkbijdrager te gebruiken, neemt u de volgende machtigingen op:

    Toestemming Indien nodig
    Microsoft.Network/virtualNetworks/subnets/join/action Altijd wanneer u een aangepaste rol gebruikt
    Microsoft.Authorization/roleAssignments/write Altijd wanneer u een aangepaste rol gebruikt
    Microsoft.Network/virtualNetworks/subnets/read Alleen bij het definiëren van uw eigen subnetten en CIDR's
  • Het subnet dat is toegewezen aan de AKS-knooppuntgroep kan geen gedelegeerd subnet zijn.

  • AKS past geen netwerkbeveiligingsgroepen (NSG's) toe op het subnet en wijzigt geen NSG's die aan dat subnet zijn gekoppeld. Als u uw eigen subnet opgeeft en NSG's toevoegt die aan dat subnet zijn gekoppeld, moet u ervoor zorgen dat de beveiligingsregels in de NSG's verkeer toestaan binnen het CIDR-bereik van het knooppunt. Met Azure CNI-overlay, als een NSG-regel voor weigeren van invloed is op ciDR-verkeer van pods, moet u ook verkeer van het knooppunt CIDR naar de pod CIDR en van de POD CIDR op alle poorten en protocollen toestaan. Zie Netwerkbeveiligingsgroepen met Azure CNI-overlay voor meer informatie.

  • Container Network Service (CNS) is een node-lokale service binnen Azure Kubernetes Service CNI-netwerk die netwerken voor pods toewijst, bijhoudt en programmeert. Dit onderdeel verzendt standaard telemetrie (metrische gegevens en logboeken) uit het cluster naar een Microsoft beheerd Application Insights-eindpunt om snellere probleemoplossing mogelijk te maken voor problemen met ip-adrestoewijzing van podnetwerken.