Översikt över Azure CNI-nätverk
Kubernetes stöder olika plugin-program så att du kan lägga till nya funktioner och ersätta eller förbättra befintligt klusterbeteende. CNI (Container Network Interface) är en specifikation som gör det möjligt för utvecklare att skapa plugin-program för att konfigurera containernätverk. Kubernetes tillämpar CNI-specifikationen, vilket möjliggör användning av CNI-plugin-program i dina kluster.
Azure CNI-plugin-program
Azure CNI-plugin-programmet möjliggör samarbete mellan containrar och virtuella Azure-nätverk (VNet). Genom att använda Azure CNI i ett Kubernetes-kluster kan poddar tilldelas IP-adresser från ett virtuellt Azure-nätverk. Podden kan sedan kommunicera i det virtuella nätverket precis som alla andra enheter. Den kan ansluta till andra poddar, peer-kopplade nätverk, lokala nätverk med hjälp av ett VPN eller ExpressRoute eller till andra Azure-tjänster med Private Link.
Förutom det traditionella Azure CNI-plugin-programmet stöder Azure Kubernetes Service (AKS) följande CNI-plugin-program:
Plugin-program | beskrivning | Används när |
---|---|---|
Azure CNI-överlägg | Klusternoder distribueras till ett undernät för ett virtuellt Azure-nätverk. Poddar tilldelas IP-adresser från en privat CIDR (klasslös routning mellan domäner) som skiljer sig logiskt från det virtuella nätverk som är värd för noderna. Podd- och nodtrafik i klustret använder ett Overlay-nätverk. NAT använder nodens IP-adress för att nå resurser utanför klustret. | • Du vill skala till ett stort antal poddar, men IP-adressutrymmet i det virtuella nätverket är begränsat. • Merparten av poddkommunikationen finns i klustret. • Du behöver inte avancerade AKS-funktioner, till exempel virtuella noder. |
Azure CNI drivs av Cilium | Kombinerar Azure CNI-kontrollplanet med Cilium-dataplanet. Cilium tillämpar nätverksprinciper för att tillåta eller neka trafik mellan poddar, så du behöver inte använda en separat nätverksprincipmotor. Du kan välja mellan två olika metoder för att tilldela podd-IP-adresser: via ett överläggsnätverk eller ett virtuellt nätverk. | • Du behöver stöd för större kluster. • Du vill ha snabbare tjänstroutning, effektivare tillämpning av nätverksprinciper och bättre observerbarhet för klustertrafik. • Du vill använda funktionerna i de traditionella Azure CNI- och Azure CNI Overlay-plugin-program med högpresterande nätverk och säkerhet. |
Azure CNI för dynamisk allokering av IP-adresser och utökat stöd för undernät | Använder funktionerna i det traditionella Azure CNI-plugin-programmet och utökar dem för att allokera podd-IP-adresser från undernät som är separata från undernätet som är värd för AKS-klustret. IP-adresser allokeras dynamiskt till klusterpoddar från poddundernätet. Nod- och poddundernät kan skalas separat och dela poddundernät över flera nodpooler eller kluster i samma virtuella nätverk. Eftersom poddar har ett separat undernät kan du konfigurera separata virtuella nätverksprinciper för dem som skiljer sig från nodprinciperna. | • Du vill ha flexibiliteten att skala noder och poddundernät oberoende av varandra. • Du behöver stöd för större kluster utan att offra prestanda. • Du vill konfigurera separata principer för virtuella nätverk för poddar. |
Bring your own (BYO) CNI | AKS-kluster distribueras utan ett förinstallerat CNI-plugin-program. Därifrån kan du installera det azure-plugin-program som stöds av andra än Microsoft CNI. Se Nätverksbegrepp för program i Azure Kubernetes Service (AKS). Tänk på att Microsofts support inte kan hjälpa till med CNI-relaterade problem i kluster som distribueras med BYO CNI. | • Du vill använda samma CNI-plugin-program i AKS som du använder i din lokala Kubernetes-miljö. • Du vill använda avancerade funktioner som är tillgängliga i plugin-program som stöds av andra program än Microsoft. |