Sdílet prostřednictvím


Přehled sítí CNI v 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 opouštějící cluster je přeložen jako zdrojová síťová adresa (SNAT´d) na IP adresu uzlu a příchozí IP provoz podů je směrován přes službu, jako je například 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. Síťový 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í podroben SNAT a IP adresa podu je přímo vystavena 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, z nichž každý běží v rovinném síťovém modelu.

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íť Azure CNI Pod, doporučený plug-in CNI pro scénáře plochého propojení 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ě:

    • Šetřete adresním prostorem IP virtuální sítě pomocí logicky oddělených rozsahů CIDR pro pods.
    • 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ý, nefragmentovaný adresní prostor IP adres VNet.

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á:

CNI plug-in Síťový model Zvýraznění případů použití
Azure CNI Overlay Překrytí - 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íť Azure CNI Pod Plochý – Přímý přístup k externímu podu
– Režimy pro efektivní využití IP adres virtuální sítě a podporu rozsáhlé škálovatelnosti clusteru (Preview)
Kubenet (starší verze) Překrytí - Stanovení priorit zachování ochrany IP adres
- Omezené škálování
- Ruční správa tras
Podsíť CNI uzlu Azure (legacy) 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 překryvná vrstva 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-VM k VM ve stejné nebo peerované virtuální síti Zahájení podu Oba způsoby Oba způsoby Zahájení podu
Místní přístup přes VPN/ExpressRoute Zahájení podu Oba způsoby Oba způsoby Zahájení podu
Přístup ke koncovým bodům služby Podporováno Podporováno Podporováno Podporováno
Zpřístupnění služeb pomocí vyrovnávače zatížení Podporováno Podporováno Podporováno Podporováno
Vystavení služeb pomocí ovladače vstupu App Gateway Podporováno Podporováno Podporováno Podporováno
Zveřejnění služeb pomocí služby App Gateway for Containers Podporováno Podporováno Podporováno Nepodporováno
Pooly 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

Rozsah podpory 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 Azure CNI Overlay, Azure CNI Node subnet, 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, je možné konfigurovat vlastní trasu definovanou uživatelem nebo koncové body 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, abyste nakonfigurovali vlastní uživatelsky definované trasy 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 na podsíti ve vaší virtuální síti alespoň oprávnění Network Contributor. 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).
  • Síť 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 k této podsíti přidružené skupiny zabezpečení sítě, musíte zajistit, aby pravidla zabezpečení ve skupinách zabezpečení sítě (NSGs) umožňovala provoz v rozsahu CIDR uzlu. Další informace najdete v tématu Skupiny zabezpečení sítě.

Další kroky