Skalowanie automatyczne klastra w usłudze AKS włączone przez usługę Azure Arc
Dotyczy: usługa AKS w usłudze Azure Stack HCI 22H2, AKS w systemie Windows Server
Możesz dostosować liczbę węzłów, które uruchamiają obciążenia aplikacji w usłudze AKS Arc przy użyciu usługi Azure Kubernetes Service (AKS), aby nadążyć za zapotrzebowaniem. Program PowerShell umożliwia automatyczne skalowanie i zarządzanie automatycznym skalowaniem pul węzłów w klastrach docelowych.
W tym artykule opisano kontekst autoskalowania w usłudze AKS włączonej przez usługę Arc oraz sposób działania narzędzia do automatycznego skalowania. Aby skalowanie automatyczne klastra działało efektywnie, można również użyć narzędzia Kubernetes do automatycznego skalowania zasobników w poziomie, który jest standardowym składnikiem Kubernetes. Aby uzyskać więcej informacji na temat narzędzia do automatycznego skalowania zasobników w poziomie platformy Kubernetes, zobacz Horizontal pod autoscaling (Skalowanie automatyczne zasobnika w poziomie).
Skalowanie automatyczne klastra
W usłudze AKS narzędzie do automatycznego skalowania klastra obserwuje zasobniki w klastrze, których nie można zaplanować z powodu ograniczeń zasobów. Po wykryciu problemów liczba węzłów w puli węzłów zwiększa się w celu spełnienia wymagań aplikacji. Węzły są również regularnie sprawdzane pod kątem braku uruchomionych zasobników, a następnie w razie potrzeby zmniejsza się liczba węzłów. Ta możliwość automatycznego skalowania w górę lub w dół liczby węzłów w klastrze usługi AKS umożliwia uruchamianie wydajnych, ekonomicznych klastrów. Skalowanie automatyczne to możliwość automatycznego dostosowywania obciążeń przez automatyzację i konfigurację zawierającą określone parametry na podstawie danych wejściowych, miar i reguł.
Aby włączyć automatyczne skalowanie klastra, usługa AKS musi zaimplementować podstawowe zarządzanie zasobami. Usługa AKS szacuje wymagania dotyczące zasobów, które będą wyzwalać zdarzenia skalowania automatycznego w danym momencie. Usługa AKS nie uwzględnia użycia zasobów spoza usługi AKS Arc. Na przykład podczas dodawania maszyn wirtualnych po włączeniu autoskalatora to zdarzenie występuje poza kontekstem autoskalowania.
Cel skalowania automatycznego klastra
Narzędzie do automatycznego skalowania automatycznie zwiększa rozmiar puli węzłów z minimalnej do maksymalnej liczby określonych węzłów. Po włączeniu automatycznego skalowania narzędzie do automatycznego skalowania określa, czy maksymalna liczba węzłów jest możliwa i ostrzega o nadmiernej aprowizacji dostępnych zasobów sprzętowych.
Narzędzie do automatycznego skalowania śledzi dostępne i obiecane zasoby we wszystkich wdrożonych klastrach docelowych i pulach węzłów. Skalowanie używa tych danych do podjęcia świadomej decyzji. Gdy narzędzie do skalowania automatycznego zwiększa pulę węzłów, narzędzie do automatycznego skalowania sprawdza dostępność zasobów.
Usługa AKS Arc używa wbudowanej funkcji automatycznego skalowania Kubernetes do obsługi operacji podobnych do narzędzia do automatycznego skalowania platformy Azure.
Jak działa skalowanie automatyczne klastra
Autoskalator dostosowuje się do zmieniających się wymagań aplikacji. Gdy zapotrzebowanie zmienia się między obciążeniami dnia roboczego i wieczorem, narzędzie do automatycznego skalowania przesuwa zasoby klastrów. Klastry Kubernetes są skalowane na dwa sposoby:
- Wyzwalacze oparte na wykorzystaniu węzłów. Moduł autoskalowania klastra wyszukuje zasobniki, których skalowania nie można zaplanować w węźle ze względu na ograniczenia. Funkcja automatycznego skalowania klastra zmniejsza liczbę węzłów, gdy nieużywano pojemności przez czas.
- Wyzwalacze zdefiniowane w profilach skalowania automatycznego. Narzędzie do automatycznego skalowania klastra używa parametrów uruchamiania dla wyzwalaczy, takich jak przedziały czasu między zdarzeniami skalowania i progami zasobów. Zobacz Profile skalowania automatycznego.
Po włączeniu skalowania automatycznego w puli węzłów domyślny profil zostanie zastosowany, chyba że zastąpisz co najmniej jedno z ustawień przy użyciu parametru -ClusterAutoScalingProfile
w Set-AksHciCluster
. Jeśli nie zostaną one włączone, domyślny stan automatycznego skalowania węzła jest wyłączony zarówno w czasie tworzenia klastra, jak i puli węzłów.
Jeśli włączysz autoskalator dla klastra i nie udostępnisz obiektu autoskalowania , domyślny profil autoskalatora zostanie dodany do klastra. Następnie możesz dostosować parametry w profilu przy użyciu Set-AksHciCluster
polecenia i przekazać obiekt autoskalatorconfig ze zaktualizowanymi wartościami. Nie musisz podawać wszystkich parametrów w obiekcie. Możesz po prostu podać zaktualizowane parametry w obiekcie.
Praca z autoskalatorem
Parametry można ustawić w profilu skalowania automatycznego, aby skonfigurować narzędzie do automatycznego skalowania. Aby uzyskać więcej informacji, zobacz How to use the autoscaler profiles (Jak używać profilów skalowania automatycznego).
Za pomocą programu PowerShell można włączać, konfigurować i wyłączać narzędzie do automatycznego skalowania. Aby uzyskać więcej informacji, zobacz Używanie programu PowerShell do automatycznego skalowania klastra.
Automatyczne skalowanie klastra podczas uaktualniania klastra
Podczas uaktualniania i aktualizowania klastra narzędzie do automatycznego skalowania jest wstrzymane i nie ma operacji skalowania, dopóki klaster i wszystkie pule węzłów w klastrze nie zakończą operacji aktualizacji. Jeśli określona pula węzłów w klastrze zostanie zaktualizowana do nowszej wersji rozwiązania Kubernetes, narzędzie do automatycznego skalowania dla tej puli węzłów zostanie wstrzymane. Operacja skalowania automatycznego jest kontynuowana we wszystkich innych pulach węzłów.