Sdílet prostřednictvím


Podsíť podsítě azure Container Networking Interface (CNI)

Podsíť podů Azure CNI přiřazuje IP adresy podům z samostatné podsítě od uzlů clusteru. Tato funkce je dostupná ve dvou režimech: Dynamické přidělování IP adres a přidělování statických bloků (Preview).

Požadavky

Poznámka:

Pokud používáte přidělování statických bloků identifikátorů CIDR, nepodporuje se zveřejnění aplikace jako služby Private Link pomocí služby Load Balanceru Kubernetes.

  • Projděte si požadavky pro konfiguraci základních sítí Azure CNI v AKS, protože stejné požadavky platí pro tento článek.

  • Projděte si parametry nasazení pro konfiguraci základních sítí Azure CNI v AKS, jak platí stejné parametry.

  • Clustery AKS Engine a DIY se nepodporují.

  • Verze 2.37.0 Azure CLI nebo novější a aks-preview verze 2.0.0b2 rozšíření nebo novější.

  • Zaregistrujte příznak funkce na úrovni předplatného pro vaše předplatné: Microsoft.ContainerService/AzureVnetScalePreview.

  • Pokud máte existující cluster, musíte povolit Container Insights pro monitorování doplňku využití podsítě PROTOKOLU IP. Container Insights můžete povolit pomocí az aks enable-addons příkazu, jak je znázorněno v následujícím příkladu:

    az aks enable-addons --addons monitoring --name <cluster-name> --resource-group <resource-group-name>
    

Režim dynamického přidělování IP adres

Dynamické přidělování IP adres pomáhá zmírnit problémy s vyčerpáním IP adres podů přidělením IP adres podů z podsítě, která je oddělená od podsítě hostující cluster AKS.

Režim dynamického přidělování IP adres nabízí následující výhody:

  • Lepší využití IP adres: IP adresy se dynamicky přidělují podům clusteru z podsítě Pod. To vede k lepšímu využití IP adres v clusteru v porovnání s tradičním řešením CNI, které dělá statické přidělování IP adres pro každý uzel.
  • Škálovatelné a flexibilní: Podsítě uzlů a podů je možné škálovat nezávisle. Jednu podsíť lze sdílet napříč několika fondy uzlů clusteru nebo napříč několika clustery AKS nasazenými ve stejné virtuální síti. Můžete také nakonfigurovat samostatnou podsíť pro fond uzlů.
  • Vysoký výkon: Vzhledem k tomu, že jsou pody přiřazené IP adresy virtuální sítě, mají přímé připojení k jiným podům clusteru a prostředkům ve virtuální síti. Řešení podporuje velmi velké clustery bez jakéhokoli snížení výkonu.
  • Samostatné zásady virtuální sítě pro pody: Protože pody mají samostatnou podsíť, můžete pro ně nakonfigurovat samostatné zásady virtuální sítě, které se liší od zásad uzlů. To umožňuje mnoho užitečných scénářů, jako je povolení připojení k internetu jenom pro pody, ne pro uzly, oprava zdrojové IP adresy pro pod ve fondu uzlů pomocí služby Azure NAT Gateway a použití skupin zabezpečení sítě (NSG) k filtrování provozu mezi fondy uzlů.
  • Zásady sítě Kubernetes: Zásady sítě Azure i Calico pracují s tímto režimem.

Plánování přidělování IP adres

S dynamickým přidělováním IP adres se uzly a pody škálují nezávisle, abyste mohli plánovat jejich adresní prostory samostatně. Vzhledem k tomu, že podsítě je možné nakonfigurovat na členitost fondu uzlů, můžete při přidávání fondu uzlů vždy přidat novou podsíť. Systémové pody ve fondu clusteru nebo uzlů také přijímají IP adresy z podsítě podsítě podsítě, takže toto chování je potřeba zohlednit.

IP adresy se přidělují uzlům v dávkách 16. Přidělení IP podsítě podsítě by mělo být naplánováno s minimálním 16 IP adresami na jeden uzel v clusteru, protože uzly při spuštění požadují 16 IP adres a požadují další dávku 16 ip adres, kdykoli je <v jejich přidělení nepřidělováno 8 IP adres.

Plánování IP adres pro služby Kubernetes a Most Dockeru zůstávají beze změny.

Režim přidělování statických bloků (Preview)

Přidělení statického bloku pomáhá zmírnit potenciální omezení velikosti podsítě a mapování adres Azure přiřazením bloků CIDR uzlům místo jednotlivých IP adres.

Režim přidělování statického bloku nabízí následující výhody:

  • Lepší škálovatelnost IP adres: Bloky CIDR se staticky přidělují uzlům clusteru a jsou přítomné po celou dobu životnosti uzlu, a ne tradiční dynamické přidělování jednotlivých IP adres s tradičním CNI. To umožňuje směrování na základě bloků CIDR a pomáhá škálovat limit clusteru až na 1 milion podů z tradičních 65 tisíc podů na cluster. Vaše virtuální síť Azure musí být dostatečně velká, aby vyhovovala škálování clusteru.
  • Flexibilita: Podsítě uzlů a podů je možné škálovat nezávisle. Jednu podsíť lze sdílet napříč několika fondy uzlů clusteru nebo napříč několika clustery AKS nasazenými ve stejné virtuální síti. Můžete také nakonfigurovat samostatnou podsíť pro fond uzlů.
  • Vysoký výkon: Vzhledem k tomu, že mají pody přiřazené IP adresy virtuální sítě, mají přímé připojení k dalším podům a prostředkům clusteru ve virtuální síti.
  • Samostatné zásady virtuální sítě pro pody: Protože pody mají samostatnou podsíť, můžete pro ně nakonfigurovat samostatné zásady virtuální sítě, které se liší od zásad uzlů. To umožňuje mnoho užitečných scénářů, jako je povolení připojení k internetu jenom pro pody, ne pro uzly, oprava zdrojové IP adresy pro pod ve fondu uzlů pomocí služby Azure NAT Gateway a použití skupin zabezpečení sítě k filtrování provozu mezi fondy uzlů.
  • Zásady sítě Kubernetes: Cilium, Azure NPM a Calico pracují s tímto řešením.

Omezení

Níže jsou některá omezení používání přidělení statického bloku Azure CNI:

  • Minimální požadovaná verze Kubernetes je 1.28
  • Maximální podporovaná velikost podsítě je x.x.x.x/12 ~ 1 milion IP adres.
  • Pro každou podsíť je možné použít pouze jeden režim operace. Pokud podsíť používá režim přidělování statického bloku, nedá se použít režim dynamického přidělování IP adres v jiném clusteru nebo fondu uzlů se stejnou podsítí a naopak.
  • Podporuje se pouze v nových clusterech nebo při přidávání fondů uzlů s jinou podsítí do existujících clusterů. Migrace nebo aktualizace existujících clusterů nebo fondů uzlů se nepodporuje.
  • Ve všech blocích CIDR přiřazených k uzlu ve fondu uzlů bude jedna IP adresa vybrána jako primární IP adresa uzlu. Správci sítě, kteří vyberou --max-pods hodnotu, se proto pokusí použít následující výpočet, aby co nejlépe vyhovoval vašim potřebám a měli optimální využití IP adres v podsíti:

max_pods = (N * 16) - 1 kde N je libovolné kladné celé číslo a N> 0

Regionální dostupnost

Tato funkce není dostupná v následujících oblastech:

  • Jih USA
  • USA – východ 2
  • USA – západ
  • Západní USA 2

Plánování přidělování IP adres

S přidělováním statických bloků se uzly a pody škálují nezávisle, takže můžete jejich adresní prostory naplánovat samostatně. Vzhledem k tomu, že podsítě je možné nakonfigurovat na členitost fondu uzlů, můžete při přidávání fondu uzlů vždy přidat novou podsíť. Systémové pody ve fondu clusteru nebo uzlů také přijímají IP adresy z podsítě podsítě podsítě, takže toto chování je potřeba zohlednit.

Bloky CIDR /28 (16 IP adres) se přidělují uzlům na základě vaší --max-pods konfigurace fondu uzlů, což definuje maximální počet podů na uzel. 1 IP adresa je vyhrazena na každém uzlu ze všech dostupných IP adres na tomto uzlu pro interní účely.

Při plánování IP adres je důležité definovat --max-pods konfiguraci pomocí následujícího výpočtu: max_pods_per_node = (16 * N) - 1, kde N je jakékoli kladné celé číslo větší než 0.

Ideální hodnoty bez ip wastage by vyžadovaly, aby maximální hodnota podů odpovídala výše uvedenému výrazu.

Podívejte se na následující příklady případů:

Příklad: max_pods Bloky CIDR přidělené na uzel Celková IP adresa dostupná pro pody Ip wastage pro uzel
Nízká fáze (přijatelná) 30 2 (16 * 2) - 1 = 32 - 1 = 31 31 - 30 = 1
Ideální případ 31 2 (16 * 2) - 1 = 32 - 1 = 31 31 - 31 = 0
Vysoká fáze (nedoporučuje se) 32 3 (16 * 3) - 1 = 48 - 1 = 47 47 - 32 = 15

Plánování IP adres pro služby Kubernetes zůstává beze změny.

Poznámka:

Ujistěte se, že vaše virtuální síť má dostatečně velký a souvislý adresní prostor pro podporu škálování clusteru.