Użyj trybu skalowania w dół, aby usuwać/dezaktywować węzły w usłudze Azure Kubernetes Service (AKS).

Domyślnie operacje skalowania w górę wykonywane ręcznie lub przez moduł skalowania automatycznego klastra wymagają alokacji i aprowizacji nowych węzłów, a operacje skalowania w dół usuwają węzły. Tryb skalowania w dół umożliwia podjęcie decyzji, czy chcesz usunąć lub cofnąć przydział węzłów w klastrze usługi Azure Kubernetes Service (AKS) podczas skalowania w dół.

Jeśli maszyna wirtualna Azure jest w stanie Stopped (wyłączony), nie będą naliczane opłaty za zasoby obliczeniowe maszyny wirtualnej. Jednak nadal trzeba będzie płacić za wszystkie dyski magazynu danych i systemu operacyjnego dołączone do maszyny wirtualnej. Oznacza to również, że obrazy kontenerów zostaną zachowane w tych węzłach. Aby uzyskać więcej informacji, zobacz Stany i rozliczenia usługi Azure Virtual Machines. To zachowanie umożliwia szybsze działanie, ponieważ wdrożenie używa buforowanych obrazów. Tryb skalowania w dół eliminuje konieczność wstępnego aprowizowania węzłów i przedpobierania obrazów kontenerów, co pozwala zaoszczędzić koszty obliczeń.

Zanim rozpoczniesz

Ostrzeżenie

Aby zachować wszystkie maszyny wirtualne o cofniętym przydziale, należy ustawić Tryb zmniejszania na Cofnij przydział. Obejmuje to maszyny wirtualne, którym cofnięto przydział przy użyciu interfejsów API IaaS (interfejsy API zestawu skalowania maszyn wirtualnych). Ustawienie trybu usuwania w procesie skalowania w dół spowoduje usunięcie wszelkich odłączonych maszyn wirtualnych. Po zastosowaniu trybu zwolnienia zasobów i operacji skalowania w dół te węzły pozostają zarejestrowane w serwerze API i są wyświetlane jako stan "NotReady".

W tym artykule założono, że posiadasz już istniejący klaster AKS. Jeśli nie masz klastra usługi AKS, aby uzyskać wskazówki dotyczące projektowania implementacji usługi AKS w skali przedsiębiorstwa, zobacz Planowanie projektu usługi AKS.

Ograniczenia

  • Efemeryczne dyski systemu operacyjnego nie są obsługiwane. Pamiętaj, aby określić dyski zarządzanego systemu operacyjnego, dołączając argument --node-osdisk-type Managed podczas tworzenia klastra lub puli węzłów.

Uwaga

Wcześniej, podczas gdy tryb skalowania w dół był w wersji zapoznawczej, pule węzłów typu spot nie były obsługiwane. Teraz, gdy tryb skalowania w dół jest ogólnie dostępny, to ograniczenie nie ma już zastosowania.

Używanie trybu skalowania w dół w celu cofnięcia przydziału węzłów w dół

Poprzez ustawienie --scale-down-mode Deallocate, węzły zostaną zwolnione podczas redukcji skali klastra lub puli węzłów. Wszystkie węzły, którym cofnięto przydział, są zatrzymywane. Gdy pula węzłów musi być skalowana w górę, zwolnione węzły są uruchamiane najpierw, zanim zostaną aprowizowane nowe węzły.

W tym przykładzie tworzymy nową pulę węzłów z 20 węzłami i określamy, że po zmniejszeniu liczby węzłów mają one zostać zwolnione przy użyciu argumentu --scale-down-mode Deallocate.

az aks nodepool add --node-count 20 --scale-down-mode Deallocate --node-osdisk-type Managed --max-pods 10 --name nodepool2 --cluster-name myAKSCluster --resource-group myResourceGroup

Skalując pulę węzłów i zmieniając liczbę węzłów na 5, cofniemy przydział 15 węzłów.

az aks nodepool scale --node-count 5 --name nodepool2 --cluster-name myAKSCluster --resource-group myResourceGroup

Aby cofnąć przydział węzłów systemu Windows podczas skalowania w dół, uruchom następujące polecenie. Domyślne zachowanie jest zgodne z węzłami systemu Linux, w których węzły są usuwane podczas skalowania w dół.

az aks nodepool add --node-count 20 --scale-down-mode Deallocate --os-type Windows --node-osdisk-type Managed --max-pods 10 --name npwin2 --cluster-name myAKSCluster --resource-group myResourceGroup

Usuwanie wcześniej zwolnionych węzłów

Aby usunąć zdezaktywowane węzły, możesz ustawić tryb skalowania w dół na Delete, konfigurując wartość --scale-down-mode Delete. 15 dealokowanych węzłów zostanie usuniętych.

az aks nodepool update --scale-down-mode Delete --name nodepool2 --cluster-name myAKSCluster --resource-group myResourceGroup

Uwaga

Zmiana trybu zmniejszania skali z Deallocate na Delete, a następnie z powrotem na Deallocate spowoduje usunięcie wszystkich zwolnionych węzłów przy zachowaniu puli węzłów w trybie zmniejszania skali Deallocate.

Używanie trybu zmniejszania do usuwania węzłów podczas skalowania w dół

Domyślne zachowanie usługi AKS bez korzystania z trybu skalowania w dół polega na usunięciu węzłów podczas skalowania klastra w dół. W trybie skalowania w dół to zachowanie można jawnie osiągnąć, ustawiając wartość --scale-down-mode Delete.

W tym przykładzie utworzymy nową pulę węzłów i określimy, że nasze węzły zostaną usunięte po skalowaniu w dół przy użyciu argumentu --scale-down-mode Delete. Operacje skalowania będą obsługiwane przy użyciu narzędzia do automatycznego skalowania klastra.

az aks nodepool add --enable-cluster-autoscaler --min-count 1 --max-count 10 --max-pods 10 --node-osdisk-type Managed --scale-down-mode Delete --name nodepool3 --cluster-name myAKSCluster --resource-group myResourceGroup

Następne kroki