Eksplorowanie najlepszych rozwiązań dotyczących automatycznego skalowania

Ukończone

Jeśli nie przestrzegasz dobrych rozwiązań podczas tworzenia ustawień autoskalowania, możesz utworzyć warunki, które prowadzą do niepożądanych wyników. W tej lekcji dowiesz się, jak unikać tworzenia reguł, które powodują konflikt ze sobą.

Pojęcia dotyczące automatycznego skalowania

  • Ustawienie autoskalowania skaluje wystąpienia w poziomie, zwiększając liczbę wystąpień i zmniejszając liczbę wystąpień. Ustawienie autoskalowania ma maksymalną, minimalną i domyślną wartość wystąpień.

  • Zadanie skalowania automatycznego zawsze odczytuje skojarzoną metryę do skalowania, sprawdzając, czy przekroczyła skonfigurowany próg skalowania w poziomie lub skalowania w poziomie.

  • Wszystkie progi są obliczane na poziomie wystąpienia. Na przykład "skalowanie w poziomie według jednego wystąpienia, gdy średni procesor CPU 80%, gdy liczba wystąpień wynosi 2", oznacza skalowanie w poziomie, gdy średni procesor CPU > we wszystkich wystąpieniach jest większy niż 80%.

  • Wszystkie sukcesy i niepowodzenia autoskalowania są rejestrowane w dzienniku aktywności. Następnie można skonfigurować alert dziennika aktywności, aby otrzymywać powiadomienia za pośrednictwem poczty e-mail, wiadomości SMS lub elementów webhook za każdym razem, gdy wystąpi aktywność.

Najlepsze rozwiązania dotyczące automatycznego skalowania

Podczas tworzenia reguł skalowania automatycznego należy użyć poniższych najlepszych rozwiązań.

Upewnij się, że wartości maksymalne i minimalne są różne, a między nimi jest odpowiedni margines

Jeśli masz ustawienie, które ma wartość minimalną= dwie, maksimum= dwa, a bieżąca liczba wystąpień to dwa, nie może wystąpić żadna akcja skalowania. Zachowaj odpowiedni odstęp między maksymalną i minimalną liczbą wystąpień. Liczby określone przez wartości minimum i maksimum są także dozwolone. Autoskalowanie odbywa się zawsze między tymi limitami.

Wybierz odpowiednią statystykę dla metryki diagnostycznej

W przypadku metryk diagnostycznych możesz wybrać metrykę Średnia, Minimum, Maksimum i Łączna jako metrykę do skalowania. Najbardziej typową statystyką jest Średnia.

Ostrożnie wybieraj progi dla wszystkich typów metryk

Zalecamy dokładne wybieranie różnych progów dla skalowania w poziomie i skalowania w oparciu o praktyczne sytuacje.

Nie zalecamy automatycznego skalowania ustawień, takich jak następujące przykłady z tymi samymi lub podobnymi wartościami progowymi dla wartości out i w warunkach:

  • Zwiększ liczbę wystąpień o jedną liczbę, gdy liczba >wątków = 600
  • Zmniejsz liczbę wystąpień o jedną liczbę, gdy liczba <wątków = 600

Przyjrzyjmy się przykładowi tego, co może prowadzić do zachowania, które może wydawać się mylące. Rozważmy następującą sekwencję.

  1. Załóżmy, że na początku istnieją dwa wystąpienia, a następnie średnia liczba wątków na wystąpienie rośnie do 625.
  2. Skalowanie automatyczne skaluje w poziomie, dodając trzecie wystąpienie.
  3. Następnie załóżmy, że średnia liczba wątków w wystąpieniu spadnie do 575.
  4. Przed skalowaniem w poziomie autoskalowanie próbuje oszacować stan końcowy, jeśli zostanie on przeskalowany. Na przykład 575 x 3 (bieżąca liczba wystąpień) = 1725 / 2 (ostateczna liczba wystąpień w przypadku skalowania w pionie) = 862,5 wątków. Oznacza to, że automatyczne skalowanie będzie musiało natychmiast skalować w poziomie nawet po skalowaniu w poziomie, jeśli średnia liczba wątków pozostaje taka sama, a nawet spadnie tylko niewielka ilość. Jednak w przypadku ponownego skalowania w poziomie cały proces powtarza się, co prowadzi do nieskończonej pętli.
  5. Aby uniknąć tej sytuacji (nazwana "flapping"), autoskalowanie w ogóle nie jest skalowane. Zamiast tego pominie i ponownie zszacuje warunek przy następnym wykonaniu zadania usługi. Może to mylić wiele osób, ponieważ autoskalowania nie wydaje się działać, gdy średnia liczba wątków wynosiła 575.

Szacowanie podczas skalowania w poziomie ma na celu uniknięcie "flappingu" sytuacji, w których akcje skalowania i skalowania w poziomie stale przechodzą tam i z powrotem. Należy pamiętać o tym zachowaniu podczas wybierania tych samych progów dla skalowania w poziomie i w poziomie.

Zalecamy wybranie odpowiedniego marginesu między progami skalowalnymi w poziomie i w poziomie. Rozważmy na przykład następującą lepszą kombinację reguł.

  • Zwiększ liczbę wystąpień o 1, gdy procesor CPU% >= 80
  • Zmniejsz liczbę wystąpień o 1, gdy procesor CPU% <= 60

W tym przypadku

  1. Załóżmy, że istnieje 2 wystąpienia, od których należy zacząć.
  2. Jeśli średni procent procesora CPU w wystąpieniach przekroczy 80, skalowanie automatyczne skaluje w poziomie, dodając trzecie wystąpienie.
  3. Teraz załóżmy, że w czasie% procesora CPU spadnie do 60.
  4. Reguła skalowania automatycznego w poziomie szacuje stan końcowy, jeśli chodzi o skalowanie w poziomie. Na przykład 60 x 3 (bieżąca liczba wystąpień) = 180 / 2 (ostateczna liczba wystąpień w przypadku skalowania w pionie) = 90. Dlatego skalowanie automatyczne nie jest skalowane w poziomie, ponieważ konieczne byłoby natychmiastowe skalowanie w poziomie. Zamiast tego pomija skalowanie.
  5. Przy następnym sprawdzaniu autoskalowania procesor nadal spada do 50. Szacuje się ponownie — 50 x 3 wystąpienie = 150 / 2 wystąpienia = 75, co jest poniżej progu skalowania w poziomie 80, więc jest skalowane z powodzeniem do 2 wystąpień.

Zagadnienia dotyczące skalowania w przypadku skonfigurowania wielu reguł w profilu

Istnieją przypadki, w których może być konieczne ustawienie wielu reguł w profilu. Poniższy zestaw reguł autoskalowania jest używany przez usługi, gdy ustawiono wiele reguł.

W przypadku skalowania w poziomie automatyczne skalowanie jest uruchamiane, jeśli zostanie spełniona jakakolwiek reguła. Skalowanie automatyczne wymaga spełnienia wszystkich reguł w skali w poziomie.

Aby zilustrować, załóżmy, że masz następujące cztery reguły skalowania automatycznego:

  • Jeśli procesor CPU < 30%, skalowanie w poziomie o 1
  • Jeśli pamięć < wynosi 50%, skalowanie w poziomie o 1
  • Jeśli procesor CPU > 75%, przeprowadź skalowanie w poziomie o 1
  • Jeśli pamięć > wynosi 75%, przeprowadź skalowanie w poziomie o 1

Następnie następuje następująca sytuacja:

  • Jeśli procesor CPU wynosi 76%, a pamięć wynosi 50%, skalujemy w poziomie.
  • Jeśli procesor CPU wynosi 50%, a pamięć to 76% skalowania w poziomie.

Z drugiej strony, jeśli procesor CPU wynosi 25%, a pamięć jest 51% autoskalowaniem, nie jest skalowana w poziomie. Automatyczne skalowanie w poziomie występuje, jeśli procesor CPU wynosi 29%, a pamięć wynosi 49%, ponieważ obie reguły skalowania w poziomie będą prawdziwe.

Zawsze wybieraj bezpieczną domyślną liczbę wystąpień

Domyślna liczba wystąpień jest ważna, ponieważ skalowanie automatyczne skaluje usługę do tej liczby, gdy metryki nie są dostępne. W związku z tym wybierz domyślną liczbę wystąpień, która jest bezpieczna dla obciążeń.

Skonfiguruj powiadomienia autoskalowania

Autoskaluj wpisy w dzienniku aktywności, jeśli wystąpi którykolwiek z następujących warunków:

  • Skalowanie automatyczne — problemy z operacją skalowania
  • Usługa autoskalowania pomyślnie ukończy akcję skalowania
  • Usługa autoskalowania nie może wykonać akcji skalowania.
  • Metryki nie są dostępne dla usługi autoskalowania w celu podjęcia decyzji o skalowaniu.
  • Metryki są ponownie dostępne (odzyskiwanie), aby podjąć decyzję o skali.

Możesz również użyć alertu dziennika aktywności, aby monitorować kondycję aparatu autoskalowania. Oprócz korzystania z alertów dziennika aktywności można również skonfigurować powiadomienia e-mail lub elementu webhook, aby otrzymywać powiadomienia o pomyślnych akcjach skalowania za pośrednictwem karty powiadomień w ustawieniu automatycznego skalowania.