Skalowanie aplikacji w AKS

Rozwiązania obliczeniowe Azure

Florin Angelescu

Azure Cloud Architect

Dlaczego skalowanie jest ważne

 

Niski ruch

Wysoki ruch

 

  • Aplikacje rzadko mają stały ruch:

    • Niektóre godziny są spokojne
    • Inne przynoszą skoki obciążenia
  • Bez skalowania:

    • Obciążenia mogą zostać przeciążone
    • Prowadząc do problemów z wydajnością lub przestojów
Rozwiązania obliczeniowe Azure

Dlaczego skalowanie jest ważne

 

Kubernetes

 

  • Kubernetes udostępnia mechanizmy dynamicznego dostosowania zasobów.
  • Aplikacje mogą sprawnie obsługiwać zapotrzebowanie.
  • Skalowanie zapewnia:
    • Spójne doświadczenia użytkowników
    • Optymalizację kosztów przez organizacje
Rozwiązania obliczeniowe Azure

Skalowanie ręczne

Skalowanie ręczne

Zwiększanie lub zmniejszanie liczby replik w deploymencie za pomocą kubectl scale.

Rozwiązania obliczeniowe Azure

Skalowanie ręczne

Skalowanie ręczne

Skalowanie aplikacji webowej z dwóch replik do czterech:

  • Więcej podów obsługuje żądania
Rozwiązania obliczeniowe Azure

Skalowanie ręczne

 

Skalowanie ręczne

Skalowanie ręczne

 

 

Przydatne przy:

  • Planowanych premierach produktów
  • Promocjach
  • Wyprzedażach
Rozwiązania obliczeniowe Azure

Horizontal Pod Autoscaler (HPA)

HPA

Rozwiązania obliczeniowe Azure

Horizontal Pod Autoscaler (HPA)

HPA

Monitoruje metryki (użycie CPU i pamięci) i automatycznie dostosowuje liczbę replik.

Rozwiązania obliczeniowe Azure

Horizontal Pod Autoscaler (HPA)

HPA

Użycie przekracza próg:

  • Tworzone są dodatkowe pody
Rozwiązania obliczeniowe Azure

Horizontal Pod Autoscaler (HPA)

HPA

Zapotrzebowanie spada:

  • Pody są usuwane
Rozwiązania obliczeniowe Azure

Horizontal Pod Autoscaler (HPA)

HPA

  • Integruje się z Azure Monitor.
  • Obsługuje niestandardowe metryki (opóźnienie żądań, długość kolejki).
Rozwiązania obliczeniowe Azure

Cluster Autoscaler

 

Autoscaler

 

 

  • Dodaje lub usuwa węzły w zależności od zapotrzebowania.
  • Pody nie mogą być zaplanowane z powodu braku zasobów:
    • Nowe węzły są automatycznie aprowizowane
Rozwiązania obliczeniowe Azure

Cluster Autoscaler

 

Autoscaler

 

 

  • Zapotrzebowanie maleje:

    • Nieużywane węzły są usuwane, aby obniżyć koszty
  • Infrastruktura odpowiada potrzebom obciążenia:

    • Bez nadmiernej aprowizacji
Rozwiązania obliczeniowe Azure

Najlepsze praktyki skalowania

Metryki

Określanie realistycznych żądań i limitów zasobów

Kombinacja

Łączenie Horizontal Pod Autoscaler z Cluster Autoscaler

Testy

Testowanie zachowania skalowania pod obciążeniem

Koszty

Monitorowanie kosztów

Rozwiązania obliczeniowe Azure

Podsumowanie

 

Kubernetes

  • Skalowanie w AKS zapewnia automatyczne dostosowanie aplikacji do zapotrzebowania:
    • Skalowanie ręczne
    • Horizontal Pod Autoscaler
    • Cluster Autoscaler
  • Równoważenie wydajności i efektywności.
Rozwiązania obliczeniowe Azure

Czas na ćwiczenia!

Rozwiązania obliczeniowe Azure

Preparing Video For Download...