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.
Azure Kubernetes Service poskytuje následující moduly plug-in CNI pro překryvné sítě:
- Azure CNI Overlay, doporučený modul plug-in CNI pro většinu scénářů.
- kubenet, starší verze překryvného modelu CNI.
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.
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/16
ani192.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
Azure Kubernetes Service