Přehled sítí CNI služby Azure Kubernetes Service (AKS)

Kubernetes používá moduly plug-in CNI (Container Networking Interface) ke správě sítí v clusterech Kubernetes. CnI zodpovídají za přiřazování IP adres podům, směrování sítě mezi pody, směrování služby Kubernetes Service a další.

AKS poskytuje více modulů plug-in CNI, které můžete použít v clusterech v závislosti na požadavcích na síť.

Síťové modely v AKS

Volba modulu plug-in CNI pro váš cluster AKS z velké části závisí na tom, který síťový model nejlépe vyhovuje vašim potřebám. Každý model má své vlastní výhody a nevýhody, které byste měli zvážit při plánování clusteru AKS.

AKS používá dva hlavní síťové modely: překryvnou síť a plochou síť.

Oba síťové modely mají více podporovaných možností modulu plug-in CNI. Hlavní rozdíly mezi modely jsou způsob přiřazení IP adres podů a jak provoz opouští cluster.

Překryvné sítě

Překryvné sítě jsou nejběžnějším síťovým modelem používaným v Kubernetes. V překryvných sítích mají pody IP adresu z privátní, logicky oddělené CIDR od podsítě virtuální sítě Azure, ve které jsou nasazené uzly AKS. To umožňuje jednodušší a často lepší škálovatelnost než model ploché sítě.

V překryvných sítích můžou pody vzájemně komunikovat přímo. Provoz, který opouští cluster, je zdrojová síťová adresa přeložená (SNAT) na IP adresu uzlu a příchozí provoz IP podů se směruje přes určitou službu, jako je nástroj pro vyrovnávání zatížení. To znamená, že IP adresa podu je "skrytá" za IP adresou uzlu. Tento přístup snižuje počet IP adres virtuální sítě vyžadovaných pro vaše clustery.

Diagram znázorňující dva uzly se třemi pody spuštěnými v překryvné síti Provoz podů do koncových bodů mimo cluster se směruje přes překlad adres (NAT).

Azure Kubernetes Service poskytuje následující moduly plug-in CNI pro překryvné sítě:

Ploché sítě

Na rozdíl od překryvné sítě model ploché sítě v AKS přiřazuje IP adresy podům z podsítě ze stejné virtuální sítě Azure jako uzly AKS. To znamená, že provoz opouštějící vaše clustery není SNAT a IP adresa podu je přímo přístupná k cíli. To může být užitečné v některých scénářích, například v případě, že potřebujete vystavit IP adresy podů externím službám.

Diagram znázorňující dva uzly se třemi pody spuštěnými v modelu ploché sítě

Azure Kubernetes Service poskytuje dva moduly plug-in CNI pro ploché sítě. Tento článek se nezabíná do hloubky pro každou možnost modulu plug-in. Další informace najdete v propojené dokumentaci:

  • Podsíť podů Azure CNI, doporučený modul plug-in CNI pro scénáře ploché sítě.
  • Podsíť uzlu Azure CNI, starší model ploché sítě, CNI obecně doporučuje používat pouze v případě, že potřebujete spravovanou virtuální síť pro váš cluster.

Volba CNI

Při výběru CNI je potřeba vzít v úvahu několik faktorů. Každý síťový model má své vlastní výhody a nevýhody a nejlepší volba pro váš cluster bude záviset na vašich konkrétních požadavcích.

Volba síťového modelu

Dva hlavní síťové modely v AKS jsou překryvné a ploché sítě.

  • Překryvné sítě:

    • Úspora adresního prostoru IP adres virtuální sítě pomocí logicky oddělených rozsahů CIDR pro pody
    • Maximální podpora škálování clusteru
    • Jednoduchá správa IP adres.
  • Ploché sítě:

    • Pody získají úplné připojení k virtuální síti a můžou být přímo dostupné přes jejich privátní IP adresu z připojených sítí.
    • Vyžadovat velký nelomený adresní prostor IP adres virtuální sítě.

Porovnání případů použití

Při výběru síťového modelu zvažte případy použití pro každý modul plug-in CNI a typ síťového modelu, který používá:

Modul plug-in CNI Síťový model Zvýraznění případů použití
Azure CNI Overlay Překryv - Nejlepší pro zachování IP adres virtuálních sítí
– Maximální počet uzlů podporovaný serverem API + 250 podů na uzel
– Jednodušší konfigurace
-Bez přímého přístupu k IP adrese externího podu
Podsíť podů Azure CNI Plochý – Přímý přístup k externímu podu
– Režimy efektivního využití IP adres virtuální sítě nebo podpory velkého rozsahu clusteru (Preview)
Kubenet (starší verze) Překryv - Stanovení priorit zachování ochrany IP adres
- Omezené škálování
- Ruční správa tras
Podsíť uzlu Azure CNI (starší verze) Plochý – Přímý přístup k externímu podu
– Jednodušší konfigurace
- Omezené škálování
– Neefektivní použití IP adres virtuální sítě

Porovnání funkcí

Můžete také porovnat funkce jednotlivých modulů plug-in CNI. Následující tabulka obsahuje základní porovnání funkcí podporovaných jednotlivými moduly plug-in CNI:

Funkce Azure CNI Overlay Podsíť podů Azure CNI Podsíť uzlu Azure CNI (starší verze) Kubenet
Nasazení clusteru v existující nebo nové virtuální síti Podporováno Podporováno Podporováno Podporováno – ruční trasy definované uživatelem
Připojení pod-virtuálních počítačů k virtuálnímu počítači ve stejné nebo partnerské virtuální síti Zahájený pod Oba způsoby Oba způsoby Zahájený pod
Místní přístup přes VPN/ExpressRoute Zahájený pod Oba způsoby Oba způsoby Zahájený pod
Přístup ke koncovým bodům služby Podporováno Podporováno Podporováno Podporováno
Zveřejnění služeb pomocí nástroje pro vyrovnávání zatížení Podporováno Podporováno Podporováno Podporováno
Zveřejnění služeb pomocí služby App Gateway Aktuálně není podporováno. Podporováno Podporováno Podporováno
Zveřejnění služeb pomocí kontroleru příchozího přenosu dat Podporováno Podporováno Podporováno Podporováno
Fondy uzlů Windows Podporováno Podporováno Podporováno Nepodporováno
Výchozí azure DNS a privátní zóny Podporováno Podporováno Podporováno Podporováno
Sdílení podsítě virtuální sítě napříč několika clustery Podporováno Podporováno Podporováno Nepodporováno

Podpora rozsahu mezi síťovými modely

V závislosti na CNI, který používáte, je možné prostředky virtuální sítě clusteru nasadit jedním z následujících způsobů:

  • Platforma Azure může při vytváření clusteru AKS automaticky vytvářet a konfigurovat prostředky virtuální sítě. podobně jako v překryvu Azure CNI, podsíti uzlu Azure CNI a Kubenetu.
  • Prostředky virtuální sítě můžete vytvořit a nakonfigurovat ručně a připojit se k těmto prostředkům při vytváření clusteru AKS.

Přestože jsou podporované funkce, jako jsou koncové body služby nebo trasy definované uživatelem, zásady podpory pro AKS definují, jaké změny můžete provést. Příklad:

  • Pokud ručně vytvoříte prostředky virtuální sítě pro cluster AKS, budete podporováni při konfiguraci vlastních trasy definované uživatelem nebo koncových bodů služby.
  • Pokud platforma Azure automaticky vytvoří prostředky virtuální sítě pro váš cluster AKS, nemůžete tyto prostředky spravované službou AKS ručně změnit tak, aby nakonfigurovaly vlastní trasy definované uživatelem nebo koncové body služby.

Požadavky

Při plánování konfigurace sítě pro AKS je potřeba vzít v úvahu několik požadavků a aspektů:

  • Virtuální síť pro cluster AKS musí umožňovat odchozí připojení k internetu.
  • Clustery AKS nemůžou používat 169.254.0.0/16, 172.30.0.0/16, , 172.31.0.0/16ani 192.0.2.0/24 pro rozsah adres služby Kubernetes, rozsah adres podů nebo rozsah adres virtuální sítě clusteru.
  • Ve scénářích virtuální sítě BYO musí mít identita clusteru používaná clusterem AKS alespoň oprávnění Přispěvatel sítě v podsíti ve vaší virtuální síti. Pokud chcete místo předdefinované role Přispěvatel sítě definovat vlastní roli , musíte mít následující oprávnění:
    • Microsoft.Network/virtualNetworks/subnets/join/action
    • Microsoft.Authorization/roleAssignments/write
    • Microsoft.Network/virtualNetworks/subnets/read (vyžaduje se pouze v případě, že definujete vlastní podsítě a identifikátoryCIDR).
  • Podsíť přiřazená k fondu uzlů AKS nemůže být delegovaná podsíť.
  • AKS u své podsítě nepoužije skupiny zabezpečení sítě (NSG) a neupravuje žádné skupiny zabezpečení sítě přidružené k této podsíti. Pokud zadáte vlastní podsíť a přidáte skupiny zabezpečení sítě přidružené k této podsíti, musíte zajistit, aby pravidla zabezpečení v NSG umožňovala provoz v rozsahu CIDR uzlu. Další informace najdete v tématu Skupiny zabezpečení sítě.

Další kroky