Używanie narzędzia do automatycznego skalowania klastra w klastrze usługi AKS Arc
Dotyczy: Azure Local, wersja 23H2
Aby nadążyć za wymaganiami aplikacji na platformie Kubernetes, może być konieczne dostosowanie liczby węzłów, które uruchamiają obciążenia. Składnik automatycznego skalowania klastra obserwuje zasobniki w klastrze, których nie można zaplanować z powodu ograniczeń zasobów. Gdy narzędzie do automatycznego skalowania klastra wykryje problemy, skaluje w górę liczbę węzłów w puli węzłów w celu spełnienia wymagań aplikacji. Regularnie sprawdza również węzły pod kątem braku uruchomionych zasobników i skaluje w dół liczbę węzłów zgodnie z potrzebami. W tym artykule pokazano, jak włączyć funkcję automatycznego skalowania klastra i zarządzać nim w usłudze AKS Arc.
Włączanie skalowania automatycznego klastra w nowym klastrze
Utwórz klaster usługi AKS Arc przy użyciu az aksarc create
polecenia i włącz i skonfiguruj narzędzie do automatycznego skalowania klastra w puli węzłów dla klastra przy użyciu parametru --enable-cluster-autoscaler
i określania --min-count
--max-count
i dla węzła. Następujące przykładowe polecenie tworzy klaster z jednym węzłem, włącza narzędzie do automatycznego skalowania klastra i ustawia co najmniej jeden i maksymalnie trzy węzły:
az aksarc create \
--resource-group myResourceGroup \
--name my-aks-arc-cluster \
--custom-location $customLocationId
--vnet-ids $vnetId
--generate-ssh-keys
--aad-admin-group-object-ids $entraIds
--node-count 1 \
--enable-cluster-autoscaler \
--min-count 1 \
--max-count 3
Utworzenie klastra i skonfigurowanie ustawień automatycznego skalowania klastra trwa kilka minut.
Włączanie automatycznego skalowania klastra w istniejącym klastrze
Zaktualizuj istniejący klaster przy użyciu az aksarc update
polecenia i włącz i skonfiguruj narzędzie do automatycznego skalowania klastra przy użyciu parametru --enable-cluster-autoscaler
i określenia --min-count
i --max-count
dla węzła. Następujące przykładowe polecenie aktualizuje istniejący klaster usługi AKS Arc, aby włączyć skalowanie automatyczne klastra w klastrze i ustawia co najmniej jeden i maksymalnie trzy węzły:
az aksarc update \
--resource-group myResourceGroup \
--name my-aks-arc-cluster \
--enable-cluster-autoscaler \
--min-count 1 \
--max-count 3
Zaktualizowanie klastra i skonfigurowanie ustawień automatycznego skalowania klastra zajmuje kilka minut.
Wyłączanie narzędzia do automatycznego skalowania klastra w klastrze
Wyłącz funkcję automatycznego skalowania klastra przy użyciu az aksarc update
polecenia i parametru --disable-cluster-autoscaler
:
az aksarc update \
--resource-group myResourceGroup \
--name my-aks-arc-cluster \
--disable-cluster-autoscaler
Węzły nie są usuwane, gdy funkcja automatycznego skalowania klastra jest wyłączona.
Aktualizowanie ustawień skalowania automatycznego klastra
W miarę zmiany wymagań aplikacji może być konieczne dostosowanie liczby węzłów automatycznego skalowania klastra w celu wydajnego skalowania. Zmień liczbę węzłów przy użyciu az aksarc update
polecenia i zaktualizuj narzędzie do automatycznego skalowania klastra przy użyciu parametru --update-cluster-autoscaler
i określ zaktualizowany --min-count
element i --max-count
dla węzła.
az aksarc update \
--resource-group myResourceGroup \
--name myAKSCluster \
--update-cluster-autoscaler \
--min-count 1 \
--max-count 5
Korzystanie z profilu narzędzia do automatycznego skalowania klastra
Bardziej szczegółowe informacje o autoskalatorze klastra można skonfigurować, zmieniając wartości domyślne w profilu automatycznego skalowania w całym klastrze. Na przykład zdarzenie skalowania w dół występuje po niewystarczającym użyciu węzłów po 10 minutach. Jeśli masz obciążenia uruchamiane co 15 minut, możesz zmienić profil skalowania automatycznego, aby skalować w dół w dół węzły po 15 lub 20 minutach. Po włączeniu automatycznego skalowania klastra zostanie użyty domyślny profil, chyba że określisz inne ustawienia.
Ustawienia profilu skalowania automatycznego klastra
W poniższej tabeli wymieniono dostępne ustawienia profilu skalowania automatycznego klastra:
Ustawienie | opis | Domyślna wartość |
---|---|---|
scan-interval |
Częstotliwość ponownego oceny klastra na potrzeby skalowania w górę lub w dół. | 10 sekund |
scale-down-delay-after-add |
Jak długo po skalowaniu w górę wznawia się ocena skalowania w dół. | 10 min |
scale-down-delay-after-delete |
Jak długo po usunięciu węzła, które są wznawiane skalowanie w dół oceny. | scan-interval |
scale-down-delay-after-failure |
Jak długo po awarii skalowania w dół wznawiana jest ocena skalowania w dół. | Trzy minuty |
scale-down-unneeded-time |
Jak długo węzeł powinien być niepotrzebny, zanim kwalifikuje się do skalowania w dół. | 10 min |
scale-down-unready-time |
Jak długo nieczytelny węzeł powinien być niepotrzebny, zanim kwalifikuje się do skalowania w dół. | 20 minut |
scale-down-utilization-threshold |
Poziom wykorzystania węzła zdefiniowany jako suma żądanych zasobów podzielonych przez pojemność, w której węzeł można rozważyć pod kątem skalowania w dół. | 0.5 |
max-graceful-termination-sec |
Maksymalna liczba sekund, przez które narzędzie do automatycznego skalowania klastra czeka na zakończenie działania zasobnika podczas próby skalowania węzła w dół. | 600 sekund |
balance-similar-node-groups |
Wykrywa podobne pule węzłów i równoważy liczbę węzłów między nimi. | false |
expander |
Typ puli węzłów używanej przez ekspander w górę. Możliwe wartości to most-pods , , least-waste random i priority . |
|
skip-nodes-with-local-storage |
Jeśli true narzędzie do automatycznego skalowania klastra nie usuwa węzłów z zasobnikami z magazynem lokalnym, na przykład EmptyDir lub HostPath. |
true |
skip-nodes-with-system-pods |
Jeśli true program , narzędzie do automatycznego skalowania klastra nie usuwa węzłów z zasobników z rozwiązania kube-system (z wyjątkiem zestawu DaemonSet lub zasobników dublowania). |
true |
max-empty-bulk-delete |
Maksymalna liczba pustych węzłów, które można usunąć w tym samym czasie. | 10 węzłów |
new-pod-scale-up-delay |
W przypadku scenariuszy, takich jak skalowanie wsadowe/wybuchowe, w których nie chcesz, aby urząd certyfikacji działał przed zaplanowaniem harmonogramu platformy Kubernetes, możesz poinformować urząd certyfikacji, aby zignorował nieplanowane zasobniki, zanim osiągną określony wiek. | 0 sekund |
max-total-unready-percentage |
Maksymalna wartość procentowa nieprzeczytanych węzłów w klastrze. Po przekroczeniu tej wartości procentowej urząd certyfikacji zatrzymuje operacje. | 45% |
max-node-provision-time |
Maksymalny czas oczekiwania autoskalatora na aprowizowanie węzła. | 15 min |
Ustawianie profilu automatycznego skalowania klastra w nowym klastrze
Utwórz klaster usługi AKS Arc przy użyciu az aksarc create
polecenia i ustaw profil narzędzia do automatycznego skalowania klastra przy użyciu parametru cluster-autoscaler-profile
:
az aksarc create \
--resource-group myResourceGroup \
--name my-aks-arc-cluster \
--node-count 1 \
--enable-cluster-autoscaler \
--min-count 1 \
--max-count 3 \
--cluster-autoscaler-profile scan-interval=30s
Ustawianie profilu automatycznego skalowania klastra w istniejącym klastrze
Ustaw funkcję automatycznego skalowania klastra w istniejącym klastrze przy użyciu az aksarc update
polecenia i parametru cluster-autoscaler-profile
. Poniższy przykład konfiguruje ustawienie interwału skanowania jako 30s:
az aksarc update \
--resource-group myResourceGroup \
--name my-aks-arc-cluster \
--cluster-autoscaler-profile scan-interval=30s
Resetowanie profilu automatycznego skalowania klastra do wartości domyślnych
Zresetuj profil narzędzia do automatycznego skalowania klastra az aksarc update
przy użyciu polecenia :
az aksarc update \
--resource-group myResourceGroup \
--name my-aks-arc-cluster \
--cluster-autoscaler-profile ""
Następne kroki
W tym artykule pokazano, jak automatycznie skalować liczbę węzłów usługi AKS Arc. Aby ręcznie skalować pule węzłów, zobacz Zarządzanie pulami węzłów w klastrach usługi AKS Arc.