Planowanie adresów IP dla klastrów usługi Azure Kubernetes Service (AKS)
Ten artykuł zawiera wskazówki dotyczące planowania adresów IP dla klastrów usługi Azure Kubernetes Service (AKS).
Aby uzyskać szczegółowe wskazówki dotyczące planowania adresów IP dla poszczególnych opcji sieci CNI, zobacz następną sekcję kroków , aby uzyskać linki do dokumentacji wtyczki.
Ustalanie rozmiaru podsieci
Podsieć sieci wirtualnej platformy Azure musi być wystarczająco duża, aby pomieścić klaster, co zależy od tego, czy używasz sieci nakładki, czy sieci płaskiej.
Nakładanie sieci
W przypadku sieci nakładek, takich jak nakładka CNI platformy Azure, podsieć musi być wystarczająco duża, aby przypisać adresy IP do węzłów. Zasobniki są przypisane do adresów IP z oddzielnego, prywatnego zakresu CIDR i nie będą wymagały adresów IP sieci wirtualnej. Podsieć sieci wirtualnej używana dla klastra może być mniejsza niż w przypadku sieci prostych.
Ważne jest, aby zapewnić przydzielenie wystarczającej ilości miejsca w prywatnym zakresie CIDR, aby zasobniki uwzględniały skalowanie. Podczas planowania rozmiarów zakresów adresów IP należy obliczyć maksymalną liczbę zasobników. Każdy węzeł w klastrze ma przypisaną podsieć /24 (256 adresów IP) dla zasobników. Należy zaplanować podsieć sieci nakładki, aby pomieścić maksymalną liczbę węzłów, które mają zostać uruchomione.
Sieci płaskie
Sieci płaskie, takie jak podsieć usługi Azure CNI, wymagają wystarczająco dużej podsieci, aby pomieścić zarówno węzły, jak i zasobniki. Ponieważ węzły i zasobniki odbierają adresy IP z sieci wirtualnej, należy zaplanować maksymalną liczbę węzłów i zasobników, które mają być uruchamiane. Podsieć zasobnika usługi Azure CNI używa podsieci dla węzłów i oddzielnej podsieci dla zasobników, dlatego należy zaplanować obie te podsieci.
Ustalanie rozmiaru adresu IP
Zagadnienia dotyczące uaktualniania i skalowania
Podczas planowania adresów IP klastra usługi AKS należy wziąć pod uwagę liczbę adresów IP wymaganych do operacji uaktualniania i skalowania. Jeśli ustawisz zakres adresów IP tak, aby obsługiwał tylko stałą liczbę węzłów, nie będzie można uaktualnić ani skalować klastra.
Podczas uaktualniania klastra usługi AKS nowy węzeł jest wdrażany w klastrze. Usługi i obciążenia zaczynają działać w nowym węźle, a starszy węzeł zostanie usunięty z klastra. Ten proces uaktualniania stopniowego wymaga udostępnienia co najmniej jednego dodatkowego bloku adresów IP. Liczba węzłów jest wtedy n + 1
n
liczbą węzłów w klastrze.
Podczas skalowania klastra usługi AKS nowy węzeł jest wdrażany w klastrze. Usługi i obciążenia zaczynają działać w nowym węźle. Zakres adresów IP musi wziąć pod uwagę sposób skalowania w górę liczby węzłów i zasobników, które może obsługiwać klaster. Należy również uwzględnić co najmniej jeden dodatkowy węzeł na potrzeby operacji uaktualniania lub liczbę węzłów ustawionych przez opcję Dostosowywanie uaktualnienia wzrostu węzła. Liczba węzłów to .n + number-of-additional-scaled-nodes-you-anticipate + max surge
Jeśli używasz podsieci usługi Azure CNI i oczekujesz, że węzły będą uruchamiać maksymalną liczbę zasobników i regularnie niszczyć i wdrażać zasobniki, należy również uwzględnić dodatkowe adresy IP na węzeł. Może wystąpić kilka sekund opóźnienia wymagane do usunięcia usługi i zwolnienia adresu IP dla nowej usługi do wdrożenia i uzyskania adresu. Dodatkowe adresy IP uwzględniają tę możliwość.
Plan adresów IP klastra usługi AKS składa się z sieci wirtualnej, co najmniej jednej podsieci dla węzłów i zasobników oraz zakresu adresów usługi Kubernetes.
Zasób platformy Azure | Zakres adresów | Limity i ustalanie rozmiaru |
---|---|---|
Azure Virtual Network | Maksymalny rozmiar /8. 65 536 — skonfigurowany limit adresów IP. Zobacz Statyczna alokacja bloków podsieci usługi Azure CNI, aby uzyskać wyjątek | Nakładające się przestrzenie adresowe w sieci mogą powodować problemy. |
Podsieć | Musi być wystarczająco duża, aby pomieścić węzły, zasobniki i wszystkie zasoby platformy Kubernetes i platformy Azure w klastrze. Jeśli na przykład wdrożysz wewnętrzną usługę Azure Load Balancer, jej adresy IP frontonu są przydzielane z podsieci klastra, a nie z publicznych adresów IP. | Rozmiar podsieci powinien również uwzględniać operacje uaktualniania i przyszłe potrzeby skalowania. Użyj następującego równania, aby obliczyć minimalny rozmiar podsieci, w tym dodatkowy węzeł dla operacji uaktualniania: Przykład dla klastra 50 węzłów: Przykład dla klastra 50 węzłów, przygotowanie do skalowania w górę dodatkowych 10 węzłów z domyślnym maksymalnym wzrostem 1 węzła: Jeśli nie określisz maksymalnej liczby zasobników na węzeł podczas tworzenia klastra, maksymalna liczba zasobników na węzeł jest ustawiona na 30. Minimalna wymagana liczba adresów IP jest oparta na tej wartości. Jeśli obliczysz minimalne wymagania dotyczące adresów IP dla innej maksymalnej wartości, zobacz Maksymalna liczba zasobników na węzeł , aby ustawić tę wartość podczas wdrażania klastra. |
Zakres adresów usługi Kubernetes Service | Żaden element sieci w tej sieci wirtualnej lub połączony z tą siecią wirtualną nie może używać tego zakresu. | Adres usługi CIDR musi być mniejszy niż /12. Możesz ponownie użyć tego zakresu w różnych klastrach usługi AKS. |
Adres IP usługi DNS platformy Kubernetes | Adres IP w zakresie adresów usługi Kubernetes używany przez odnajdywanie usługi klastra. | Nie używaj pierwszego adresu IP w zakresie adresów. Pierwszy adres w zakresie podsieci jest używany dla adresu kubernetes.default.svc.cluster.local . |
Maksymalna liczba zasobników na węzeł
Maksymalna liczba zasobników na węzeł w klastrze usługi AKS wynosi 250. Domyślna maksymalna liczba zasobników na węzeł różni się między sieciami kubenet i Azure CNI oraz metodą wdrażania klastra.
CNI | Domyślne maksymalne zasobniki | Możliwość konfigurowania podczas wdrażania |
---|---|---|
Nakładka Azure CNI | 250 | Tak (do 250) |
Podsieć usługi Azure CNI | 110 | Tak (do 250) |
Azure CNI (starsza wersja) | 30 | Tak (do 250) |
Kubenet | 110 | Tak (do 250) |
Konfigurowanie maksymalnych zasobników na węzeł dla klastrów
Maksymalną liczbę zasobników na węzeł można skonfigurować w czasie wdrażania klastra lub podczas dodawania nowych pul węzłów. Maksymalną wartość zasobników na węzeł można ustawić na 250.
Minimalna wartość maksymalnej liczby zasobników na węzeł jest wymuszana w celu zagwarantowania miejsca dla zasobników systemowych o krytycznym znaczeniu dla kondycji klastra. Minimalna wartość, którą można ustawić dla maksymalnych zasobników na węzeł, wynosi 10, jeśli i tylko wtedy, gdy konfiguracja każdej puli węzłów ma miejsce dla co najmniej 30 zasobników. Na przykład ustawienie maksymalnej liczby zasobników na węzeł na co najmniej 10 wymaga, aby każda pula węzłów miała co najmniej trzy węzły. To wymaganie dotyczy również każdej nowo utworzonej puli węzłów, więc jeśli 10 jest zdefiniowanych jako maksymalne zasobniki na węzeł, każda kolejna dodana pula węzłów musi mieć co najmniej trzy węzły.
Sieć | Minimum | Maksimum |
---|---|---|
Azure CNI | 10 | 250 |
Kubenet | 10 | 250 |
Uwaga
Minimalna wartość w poprzedniej tabeli jest ściśle wymuszana przez usługę AKS. Nie można ustawić wartości dla maxPods , która jest niższa niż pokazana minimalna, ponieważ może to uniemożliwić uruchamianie klastra.
Nowe klastry
Maksymalna liczba zasobników na węzeł można zdefiniować podczas tworzenia nowego klastra przy użyciu jednej z następujących metod:
- Interfejs wiersza polecenia platformy
--max-pods
Azure: określ argument podczas wdrażania klastra zaaz aks create
pomocą polecenia . - Szablon usługi Azure Resource Manager: określ
maxPods
właściwość w obiekcie [ManagedClusterAgentPoolProfile] podczas wdrażania klastra przy użyciu szablonu usługi Azure Resource Manager. - Witryna Azure Portal: zmień
Max pods per node
pole w ustawieniach puli węzłów podczas tworzenia klastra lub dodawania nowej puli węzłów.
Istniejące klastry
Podczas tworzenia nowej puli węzłów można zdefiniować maksymalne zasobniki na węzeł. Jeśli chcesz zwiększyć ustawienie maxPods w istniejącym klastrze, dodaj nową pulę węzłów z nową liczbą żądanych dysków maxPods . Po przeprowadzeniu migracji zasobników do nowej puli usuń starszą pulę węzłów.
Następne kroki
Azure Kubernetes Service