Plánování IP adres pro clustery Azure Kubernetes Service (AKS)
Tento článek obsahuje pokyny k plánování IP adres pro clustery Azure Kubernetes Service (AKS).
Konkrétní pokyny k plánování IP adres pro jednotlivé možnosti CNI najdete v další části s odkazy na dokumentaci k modulům plug-in.
Určení velikosti podsítě
Vaše podsíť virtuální sítě Azure musí být dostatečně velká, aby vyhovovala vašemu clusteru, což závisí na tom, jestli používáte překryvnou síť nebo plochou síť.
Překryvné sítě
V případě překryvných sítí, jako je Překrytí Azure CNI, musí být vaše podsíť dostatečně velká, aby bylo možné přiřadit IP adresy k uzlům. Pody se přiřazují z samostatného privátního rozsahu CIDR a nevyžadují IP adresy virtuálních sítí. Podsíť virtuální sítě, kterou používáte pro cluster, může být menší než u plochých sítí.
Je důležité zajistit, abyste přidělil dostatek místa v privátním rozsahu CIDR pro vaše pody pro účely škálování. Při plánování velikostí rozsahu IP adres byste měli vypočítat maximální počet podů. Každému uzlu v clusteru je přiřazena podsíť /24 (256 IP adres) pro pody. Měli byste naplánovat překryvnou síťovou podsíť tak, aby vyhovovala maximálnímu počtu uzlů, které očekáváte.
Ploché sítě
Ploché sítě, jako je podsíť podsítě Azure CNI, vyžadují dostatečně velkou podsíť pro přizpůsobení uzlů i podů. Vzhledem k tomu, že uzly a pody přijímají IP adresy z vaší virtuální sítě, musíte naplánovat maximální počet uzlů a podů, které očekáváte ke spuštění. Podsíť podů Azure CNI používá podsíť pro uzly a samostatnou podsíť pro vaše pody, takže je potřeba naplánovat obojí.
Změna velikosti IP adres
Aspekty upgradu a škálování
Při plánování IP adres pro cluster AKS byste měli zvážit počet IP adres potřebných pro operace upgradu a škálování. Pokud nastavíte rozsah IP adres tak, aby podporoval pouze pevný počet uzlů, nebudete moct upgradovat ani škálovat cluster.
Při upgradu clusteru AKS se v clusteru nasadí nový uzel. Služby a úlohy se začnou spouštět na novém uzlu a ze clusteru se odebere starší uzel. Tento proces postupného upgradu vyžaduje, aby byl k dispozici minimálně jeden další blok IP adres. Počet uzlů je pak n + 1
místo, kde n
je počet uzlů ve vašem clusteru.
Při škálování clusteru AKS se v clusteru nasadí nový uzel. Služby a úlohy se začnou spouštět na novém uzlu. Rozsah IP adres musí vzít v úvahu, jak chcete vertikálně navýšit kapacitu počtu uzlů a podů, které může cluster podporovat. Je třeba zahrnout také minimálně jeden další uzel pro operace upgradu nebo počet uzlů nastavených možností Přizpůsobit upgrade upgradu uzlu. Váš počet uzlů je pak n + number-of-additional-scaled-nodes-you-anticipate + max surge
.
Pokud používáte podsíť pod Azure CNI a očekáváte, že uzly budou spouštět maximální počet podů a pravidelně rušíte a nasazujete pody, měli byste také počítat s dalšími IP adresami na uzel. K odstranění služby může dojít k několikasekundové latenci a uvolnění její IP adresy, aby se nová služba nasadila a získala. Pro tuto možnost se jedná o další IP adresy.
Plán IP adres clusteru AKS se skládá z virtuální sítě, alespoň jedné podsítě pro uzly a pody a rozsahu adres služby Kubernetes.
Prostředek Azure | Rozsah adres | Omezení a velikost |
---|---|---|
Azure Virtual Network | Maximální velikost /8. 65 536 nakonfigurovaných limitů IP adres Informace o výjimce najdete v tématu Přidělení statického bloku podsítě Pod Azure CNI. | Překrývající se adresní prostory v síti můžou způsobit problémy. |
Podsíť | Musí být dostatečně velký, aby vyhovoval uzlům, podům a všem prostředkům Kubernetes a Azure ve vašem clusteru. Pokud například nasadíte interní Azure Load Balancer, přidělují se ip adresy front-endu z podsítě clusteru, nikoli veřejné IP adresy. | Velikost podsítě by měla také zohledňovat operace upgradu a budoucí potřeby škálování. Následující rovnice slouží k výpočtu minimální velikosti podsítě, včetně dodatečného uzlu pro operace upgradu: Příklad clusteru s 50 uzly: Příklad clusteru s 50 uzly, příprava na vertikální navýšení kapacity dalších 10 uzlů s výchozím maximálním nárůstem 1 uzlu: Pokud při vytváření clusteru nezadáte maximální počet podů na uzel, použijte následující rovnici. Maximální počet podů na uzel je nastavený na 30. Z této hodnoty vychází minimální požadovaný počet IP adres. Pokud vypočítáte minimální požadavky na IP adresu na jinou maximální hodnotu, přečtěte si téma Maximální počet podů na uzel a nastavte tuto hodnotu při nasazování clusteru. |
Rozsah adres služby Kubernetes Service | Žádný síťový prvek v této virtuální síti nebo připojený k této virtuální síti nesmí používat tento rozsah. | CiDR adresy služby musí být menší než /12. Tento rozsah můžete znovu použít v různých clusterech AKS. |
IP adresa služby DNS Kubernetes | IP adresa v rozsahu adres služby Kubernetes používaném zjišťováním služby clusteru. | Nepoužívejte první IP adresu v rozsahu adres. První adresa v rozsahu podsítě se používá pro adresu kubernetes.default.svc.cluster.local . |
Maximální počet podů na uzel
Maximální počet podů na uzel v clusteru AKS je 250. Výchozí maximální počet podů na uzel se liší mezi sítěmi kubenet a sítí Azure CNI a metodou nasazení clusteru.
CNI | Výchozí maximální počet podů | Konfigurovatelné při nasazení |
---|---|---|
Azure CNI Overlay | 250 | Ano (až 250) |
Podsíť podů Azure CNI | 110 | Ano (až 250) |
Azure CNI (starší verze) | 30 | Ano (až 250) |
Kubenet | 110 | Ano (až 250) |
Konfigurace maximálního počtu podů na uzel pro clustery
Můžete nakonfigurovat maximální počet podů na uzel buď v době nasazení clusteru, nebo při přidávání nových fondů uzlů. Maximální počet podů na hodnotu uzlu můžete nastavit až na 250.
Minimální hodnota maximálního počtu podů na uzel se vynucuje, aby se zajistilo místo pro systémové pody kritické pro stav clusteru. Minimální hodnota, kterou lze nastavit pro maximální počet podů na uzel, je 10, pokud a pouze v případě, že konfigurace každého fondu uzlů má prostor pro minimálně 30 podů. Například nastavení maximálního počtu podů na uzel na minimum 10 vyžaduje, aby každý fond uzlů měl minimálně tři uzly. Tento požadavek platí i pro každý nově vytvořený fond uzlů, takže pokud je 10 definováno jako maximální počet podů na uzel, každý další přidaný fond uzlů musí mít alespoň tři uzly.
Sítě | Minimum | Maximum |
---|---|---|
Azure CNI | 10 | 250 |
Kubenet | 10 | 250 |
Poznámka:
Služba AKS vynucuje minimální hodnotu v předchozí tabulce. Nelze nastavit hodnotu maxPods, která je nižší než minimální zobrazená hodnota, protože to může zabránit spuštění clusteru.
Nové clustery
Maximální počet podů na uzel můžete definovat při vytváření nového clusteru pomocí jedné z následujících metod:
- Azure CLI: Zadejte
--max-pods
argument při nasazení clusteruaz aks create
pomocí příkazu. - Šablona Azure Resource Manageru: Při nasazování clusteru s šablonou Azure Resource Manageru
maxPods
zadejte vlastnost v objektu [ManagedClusterAgentPoolProfile]. - Azure Portal: Při vytváření clusteru nebo přidání nového fondu uzlů změňte
Max pods per node
pole v nastavení fondu uzlů.
Existující clustery
Při vytváření nového fondu uzlů můžete definovat maximální počet podů na uzel. Pokud potřebujete zvýšit nastavení maxPods v existujícím clusteru, přidejte nový fond uzlů s novým požadovaným počtem maxPods . Po migraci podů do nového fondu odstraňte starší fond uzlů.
Další kroky
Azure Kubernetes Service