Co to jest HPA w Kubernetes?
HPA oznacza poziomy autoscalera POD w Kubernetes i modyfikuje strukturę obciążenia ruchu Kubernetes, automatycznie zwiększając lub zmniejszając liczbę kapsuł według pojemności wykorzystania procesora. W przeciwieństwie do modyfikacji zasobów, które są przydzielane do jednego kontenera, skalowanie to odbywa się poziomo, ponieważ wpływa na całkowitą liczbę instancji procesora.
Jak działa HPA w Kubernetes?
Wszyscy zdajemy sobie sprawę, że procesor obsługuje procesy. Gdy tylko wdrażamy i ustawiamy repliki, wszystkie demony są ustawione i możemy ręcznie dodać więcej strąków do wdrażania lub zestawu repliki. Kubernetes zapewnia poziome autoscaling POD w celu zautomatyzowania tego procesu. HPA to kontroler, który służy do kontrolowania wykorzystania procesora poprzez automatyzację. Aplikacja Kubernetes skaluje się automatycznie na podstawie obciążeń. Jeśli liczba ruchu spadnie i wykorzystanie procesora zmniejsza się, zmniejsza się. Aplikacja Kubernetes skaluje się, gdy obciążenia rosną, tworząc więcej replik aplikacji Kubernetes.
Wymagania wstępne:
Do uruchomienia HPA w aplikacji Kubernetes wymagane są następujące:
W tym artykule poznamy każdy krok z przydatnymi przykładami. Jeśli jesteś początkującym, jest to odpowiednie miejsce do poznania metod Kubernetes. Wyjaśnimy o procesie konfiguracji HPA w różnych krokach. Zaczynajmy!
Krok 1: Kubernetes Container Startup
Na tym etapie zaczynamy od kontenera Kubernetes, który jest minikube. Uruchamiamy następujące polecenie, aby uruchomić minikube:
> Minikube startMinikube zaczyna się po wykonaniu polecenia. MiniKube zapewnia nam lokalny kontener Kubernetes, w którym wykonujemy różne działania.
Krok 2: Uruchom serwer PHP-Apache w pliku YAML
W tym kroku tworzymy plik konfiguracyjny po utworzeniu kontenera, aby rozpocząć wdrożenie. Uruchamiamy następujące polecenie, aby utworzyć plik YAML:
> Nano PHP.YamlPoniżej znajduje się wykonanie polecenia wspomnianego na załączonym zrzucie ekranu.
Plik konfiguracyjny zawiera różne typy danych, takie jak nazwa pliku, specyfika. Ten kontener działa za pomocą „Rejestru.K8s.Obraz IO/HPA ”, jak widać na poniższym zrzucie ekranu:
To także część pliku YAML:
Krok 3: Utwórz wdrożenie i usługi w Kubernetes
W tym kroku tworzymy wdrożenie i deklarujemy je jako usługę za pomocą załączonego zrzutu ekranu. Wykonujemy następujące polecenie w terminalu:
> Kubectl Zastosuj -f php.YamlPo wykonaniu tego polecenia tworzony jest serwer wdrażania PHP-Apache. Wraz z tym usługa jest tworzona pomyślnie.
Krok 4: Utwórz poziomy autoscalera kapsułki w Kubernetes
W tym etapie tworzymy poziomy autoscaler z Kubectl na serwerze wdrażania. W tym celu uruchamiamy następujące polecenie:
> Kubectl AutoScale wdrażanie php -apache - -cpu -percent = 50 -min = 1 -max = 10Kiedy wykonywamy to polecenie, autoskaler horyzontalny jest tworzony pomyślnie. W poprzednim poleceniu inicjujemy również wartości Min i Maks. Oznacza to, że poziomy autoscalera kapsułki jest utrzymywany między 1 do 10 replikami kapsułki. Wszystko to jest kontrolowane przez serwer PHP-Apache wdrażania.
Krok 5: Sprawdź status autoscalera poziomego kapsuły w Kubernetes
W tym kroku chcemy uzyskać lub sprawdzić status HPA - jeśli jakikolwiek HPA jest obecny w Kubernetes, czy nie. W tym celu uruchamiamy załączone polecenie:
> kubectl zdobądź HPAJak widzieliśmy na uprzednio przywiązanym zrzucie ekranu, jeden HPA jest obecny w naszym pojemniku, a jego nazwa to „PHP-apache”. Odniesienie do tego POD to „wdrażanie/php-apache”. Cele pokazują nam, że zużycie procesora tego kapsuły nie jest znane 50%, co oznacza, że nie otrzymano żądania klienta. Minimalna liczba kapsułów wynosi 1, a maksymalna liczba kapsułek wynosi 10. Repliki to „0”, a wiek tego kapsuły to „7s”.
Krok 6: Zwiększ obciążenie lub ruch na serwerze
W tym etapie łączymy się z wdrożeniem, które zostało wcześniej utworzone w celu utworzenia kapsułki i sprawdzania HPA w prawdziwym środowisku, aby sprawdzić, czy HPA może zarządzać zasobami, czy nie. Zwiększamy również obciążenie klastra, uruchamiając następujące kolejne polecenie:
> Kubectl RUN -i -tty load -generator -rm -image = zajętybox: 1.28 -restart = nigdy - /bin /sh -c „podczas snu 0.01; zrób wget -q -o- http: // php -apache; zrobione"Krok 7: Obejrzyj HPA po wykonaniu
Możemy łatwo obejrzeć listę HPA, uruchamiając następujące polecenie:
> kubectl zdobądź hpa php-apache-wtychPo uruchomieniu wcześniej wspomnianego polecenia wynik pojawia się tak samo jak w kroku 6 tego artykułu.
Krok 8: Pokaż wdrożenie Kubernetes
W tym kroku pobieramy listę wdrożeń Kubernetes, uruchamiając następujące polecenie:
> Kubectl otrzymuj wdrożenie php-apacheKrok 9: Utwórz więcej replików
W tym kroku tworzymy replikę tego samego kapsuła w Kubernetes z tym samym poleceniem:
> kubectl zdobądź HPA PHP -Apache -WatchTo polecenie obserwuje szczegóły kapsuły po wykonaniu. Widzimy ten szczegół kapsuły na wcześniej wspomnianym zrzucie ekranu.
Krok 10: Ponownie pozyskaj rozmieszczenie
Na tym etapie uruchamiamy to samo polecenie, aby pokazać wdrożenie. Polecenie jest następujące:
> Kubectl otrzymuj wdrożenie php-apacheWniosek
Ten artykuł dotyczy HPA. HPA zapewnia możliwość automatyzacji związanej z wykorzystaniem procesora. Nauczyliśmy się każdego stopnia do konfiguracji HPA. Mamy nadzieję, że zrozumiesz także działanie HPA i możesz wykonać tę praktykę w swoim środowisku.