Pojęcia dotyczące skalowalności klastra

Ukończone

Głodowanie węzłów

W kluczu spec.containers.resources pliku YAML zasobnika należy zdefiniować liczbę zasobów, których potrzebuje zasobnik. Po utworzeniu nowego zasobnika w węźle platforma Kubernetes automatycznie przydziela tę określoną liczbę zasobów zasobnikowi, aby była uruchamiana z ilością wymaganej mocy.

Pojedynczy węzeł to pojedyncza maszyna wirtualna, która ma ograniczoną ilość zasobów dostępnych dla zasobników, takich jak procesor CPU i pamięć RAM. Nie można ściągnąć nieskończonej liczby zasobników w węźle. Gdy węzeł nie spełnia wymagań wymaganych dla zasobu zasobnika, zasobnik konkuruje z określonymi zasobami dla zasobów węzła, co prowadzi do głodu węzła. Zasobnik pozostaje w stanie Oczekiwanie i nie jest zaplanowany na żadne węzły, dopóki nie będą dostępne wystarczające zasoby.

Skalowalność klastra

Aby uniknąć głodu węzła, operator musi skalować klaster w poziomie i dodać więcej maszyn wirtualnych do puli węzłów. Skalowanie klastra ręcznego można wykonać za pomocą polecenia interfejsu wiersza polecenia az aks scale platformy Azure. Możesz również użyć witryny Azure Portal do ręcznego skalowania klastra. Zaloguj się do portalu i wybierz klaster usługi Azure Kubernetes Service (AKS). W obszarze Ustawienia wybierz pozycję Pule węzłów. Wybierz pulę węzłów, którą chcesz skalować, a następnie wybierz pozycję Skaluj pulę węzłów.

Skalowanie ręczne może być przytłaczające, szczególnie w przypadku klastrów z niespójnym i zmiennym zapotrzebowaniem. Gdy liczba zasobników stale się zmienia, musisz stale monitorować je pod kątem nieplanowanych zasobników i wprowadzać wszelkie niezbędne zmiany w czasie rzeczywistym.

Narzędzie do automatycznego skalowania klastra

W usłudze AKS narzędzie do automatycznego skalowania klastra automatyzuje proces skalowania klastra. Po włączeniu go w klastrze usługi AKS obserwuje on nieplanowane zasobniki z ograniczeniami zasobów i automatycznie zwiększa liczbę węzłów, aby spełnić wymagania.

Diagram przedstawiający sposób działania automatycznego skalowania klastra.

Funkcja automatycznego skalowania klastra może również zmniejszyć liczbę węzłów w klastrze, jeśli nieużywane pojemności klastra przez określony czas. Gdy ten warunek zostanie spełniony, cordons narzędzia do automatycznego skalowania (sprawia, że węzeł jest niedostępny do planowania nowych obciążeń) i opróżnia (przenosi istniejące obciążenia do innego węzła) węzła. W związku z tym wszystkie zasobniki zaplanowane w tym węźle są bezpiecznie przenoszone do innych węzłów. Gwarantuje to również, że żadne inne zasobniki nie są zaplanowane podczas procesu. Następnie usuwa węzeł z puli.

Istnieją sytuacje, w których narzędzie do automatycznego skalowania klastra nie może usunąć węzła z powodu zasobników, których nie można przenieść z tego węzła. Te sytuacje obejmują:

  • Zasobnik jest tworzony bezpośrednio przy użyciu pliku YAML i nie jest powiązany z żadnymi kontrolerami, takimi jak wdrożenia lub zestawy replik.
  • Budżet zakłóceń zasobników (PDB) jest zbyt restrykcyjny i nie pozwala na spadek liczby zasobników poniżej określonego progu.
  • Zasobnik ma selektor węzła dla tego konkretnego węzła lub koligacji węzła, która uniemożliwia przejście w innym miejscu.

Po włączeniu skalowania automatycznego skalowanie klastra jest wyłączone.

Sprawdź swoją wiedzę

1.

W jaki sposób narzędzie do automatycznego skalowania klastra różni się od narzędzia HPA?

2.

Dlaczego narzędzie do automatycznego skalowania klastra jest niezbędne w środowisku produkcyjnym?

3.

W których z tych sytuacji klaster nie może usunąć węzła?