Polecenie automatycznego skalowania Kubectl

Polecenie Automatycznego Skalowania Kubectl



Kubernetes zapewnia możliwość automatycznego skalowania w celu automatycznego zarządzania zasobami bez udziału człowieka. Funkcja automatycznego skalowania automatycznie zmienia liczbę węzłów w razie potrzeby i oszczędza zasoby. W tym artykule dowiemy się, jak wdrożyć polecenie „kubectl autoscale” i automatyczne skalowanie „HorizontalPodScaler”. W tym samouczku szczegółowo opisano tę ważną koncepcję. Najpierw omówmy, czym jest koncepcja automatycznego skalowania kubectl, a następnie przejdźmy do procesu krok po kroku, aby lepiej zrozumieć. Ten artykuł jest bardzo przydatny, jeśli nie znasz koncepcji automatycznego skalowania Kubernetes.

Co to jest automatyczne skalowanie Kubectl?

Automatyczne skalowanie to główna funkcja klastra Kubernetes, która sprawia, że ​​zasoby są automatycznie aktualizowane bez konieczności ręcznego wykonywania tego. Ręczna aktualizacja wymagających zasobów jest procesem bardzo marnującym czas i zasoby. Automatyczne skalowanie Kubernetes zapewnia automatyczne narzędzie do optymalizacji zasobów.

Autoskaler może tworzyć i niszczyć liczbę węzłów zgodnie z wymaganiami. Skalowanie automatyczne zmniejsza marnotrawstwo zasobów. Automatyczne skalowanie Kubectl automatycznie wybiera pody, które są obecnie wykonywane w klastrze Kubernetes.







Istnieją dwa rodzaje skalowania: (1) HorizontalPodScaler i (2) Skaler pionowy. Skaler poziomy różni się od skalera pionowego. HorizontalPodScaler pomaga w zmniejszaniu lub zwiększaniu strąków w razie potrzeby. Z drugiej strony skalowanie pionowe wykorzystuje zasoby, takie jak procesor i pamięć.



Oto wszystkie kroki, które możesz wykonać w swoim systemie i zobaczyć dane wyjściowe dla lepszego zrozumienia.



Krok 1: Uruchamianie klastra Minikube

W pierwszym kroku uruchom narzędzie minikube, aby uruchomić klaster Kubernetes, abyśmy mogli wykonać polecenie „kubectl autoscale”. Możesz skonfigurować swoje węzły, pody, a nawet klaster w środowisku Kubernetes za pomocą klastra minikube. Aby to zrobić, użyj następującego polecenia, aby utrzymać minikube w trybie aktywnym:





~$ uruchom minikuba

Jak widać na poniższym zrzucie ekranu wyjściowego, to polecenie włącza klaster minikube i sprawia, że ​​środowisko Kubernetes staje się użyteczne:

Krok 2: Pobierz szczegóły kapsuły

W tym kroku klaster Kubernetes działa pomyślnie. Teraz otrzymujemy szczegóły pod w klastrze. Kapsuła w Kubernetes to zbiór jednostek, które współdzielą zasoby. Poniższy skrypt jest wykonywany przez uruchomienie następującego polecenia w klastrze minikube:

~$ kubectl pobiera strąki

Korzystając z poprzedniego polecenia, jakim jest „kubectl get pods”, możemy uzyskać listę wszystkich podów, które działają w klastrze Kubernetes.

Po wykonaniu polecenia „get pods” otrzymujemy następujący wynik:

  Zrzut ekranu programu komputerowego Opis generowany automatycznie z niską pewnością

Krok 3: Uzyskaj wdrożenia Pod

W poprzednim poleceniu „kubectl get pods” otrzymujemy szczegółowe informacje o podach. Teraz używamy polecenia „get wdrożenie”, aby uzyskać listę utworzonych wdrożeń. W tym celu wykonywany jest następujący skrypt:

~$ kubectl pobierz wdrożenia

Po wykonaniu polecenia poniższy zrzut ekranu pokazuje dane wyjściowe:

Krok 4: Wdrożenie automatycznego skalowania

Polecenie autoscale służy do automatycznego wyboru zasobników działających w klastrze. Wdrażając automatyczne skalowanie w klastrze, automatycznie wstawiamy i kończymy liczbę węzłów. Poniższy skrypt jest wykonywany w klastrze minikube i pokazuje nazwę pliku, minimalne i maksymalne pody, gdzie liczba podów powinna wynosić od 2 do 10:

~$ Wdrożenie automatycznego skalowania kubectl nginx1-deployment1 -- min = 2 --maks = 10

Po wykonaniu polecenia generowane jest następujące wyjście:

Krok 5: Utwórz plik Kubernetes YAML

W tym kroku nauczysz się tworzyć plik YAML w klastrze. Plik YAML jest przydatny do wdrażania i testowania aplikacji. Istnieją różne typy w Kubernetes do tworzenia i edytowania pliku.

W tym artykule używamy polecenia „nano” do utworzenia pliku YAML, ponieważ jest to najłatwiejszy sposób i najlepszy wybór dla początkujących.

Wykonaj podane tutaj kroki, aby utworzyć plik YAML za pomocą nano:

  • Aby utworzyć nowy plik lub zmienić istniejący, przejdź do żądanej lokalizacji katalogu.
  • Wpisz „nano”. Następnie wpisz nazwę pliku. Na przykład, jeśli chcesz utworzyć nową nazwę pliku, zapisz nazwę – „deploo.yaml”.

Uruchom następujący skrypt i utwórz plik YAML w katalogu projektu:

~$ nano wdrożenie.yaml

Po utworzeniu pliku „deploo.yaml” kolejnym krokiem jest skonfigurowanie pliku YAML. Wyjaśniamy to w następnym kroku.

Krok 6: Zawartość pliku YAML

W tym kroku możemy w prosty sposób skonfigurować serwer Apache oraz pliki PHP. Zanim użyjemy HorizontalPodScaler, musimy skonfigurować monitor obciążenia. Ponieważ poniższy fragment kodu pokazuje rodzaj: wdrożenie, port przeglądarki internetowej to 90, a limit procesora to 200 m.

Pełne informacje o pliku „deploo.yaml” można zobaczyć tutaj:

apiVersion : aplikacje/v1
Uprzejmy
: Zastosowanie
metadane
:
nazwa
: php
spec
:
selektor
:
dopasuj etykiety
:
uruchomić
: php-apache
szablon
:
metadane
:
etykiety
:
uruchomić
: php-apache
spec
:
pojemniki
:
- nazwa
: php
obraz
: http://register.k8s.io/hpa-example
porty
:
- Port kontenera
: 90
zasoby
:
granice
:
procesor
: 200m
upraszanie
:

procesor
: 100m
---
apiVersion
: v1
Uprzejmy
: Praca
metadane
:
nazwa
: php
etykiety
:
uruchomić
: php-apache
spec
:
porty
:
- Port
: 70
selektor
:
uruchomić
: php-apache

Krok 7: Utwórz wdrożenie

W tym kroku utwórzmy plik YAML o nazwie „deploo.yaml”. W klastrze minikube wykonywany jest następujący skrypt:

~$ kubectl create -f deploo.yaml

Dane wyjściowe powyższego polecenia, które wykonaliśmy, można zobaczyć na poniższym zrzucie ekranu. Dane wyjściowe wskazują, że plik YAML został utworzony:

Krok 8: Utwórz HorizontalPodScaler

W tym kroku pokażemy Ci polecenie tworzenia HorizontalPodAutoscaler. Kapsułki są wkładane i zamykane automatycznie w zależności od zapotrzebowania. Różni się od skalowania pionowego, w którym zasoby procesora i pamięci są przydzielane przez automatyczne skalowanie. W klastrze minikube wykonywany jest następujący skrypt:

~$ automatyczne skalowanie kubectl php -- procesor - procent = pięćdziesiąt -- min = 10 –maks = 20

Tutaj możesz zobaczyć, że ustawiliśmy wartości minimalne i maksymalne na 10 i 20.

W załączeniu wynik poprzedniego polecenia:

Krok 9: Sprawdź HorizontalPodScaler

W tym kroku sprawdzamy aktualny stan nowo utworzonego HorizontalPodAutoscaler. Wykonywane jest następujące polecenie:

~$ kubectl pobierz hpa

Wniosek

Jedną z najbardziej przydatnych funkcji Kubernetes jest „autoscale kubectl”, która zapewnia automatyczne aktualizacje zasobów w klastrze Kubernetes. Autoskaler pomaga, gdy klaster musi zwiększyć liczbę strąków lub zmniejszyć liczbę strąków. W tym artykule poznaliśmy dwie metody automatycznego skalowania — jedna to domyślny autoskaler, a druga to HorizontalPodScaler.

Najpierw wdrożyliśmy pody i zadeklarowaliśmy je. Następnie utworzyliśmy autoskaler i skonfigurowaliśmy serwer Apache do wdrożenia monitora obciążenia przed HorizontalPodScaler. Następnie utworzyliśmy plik YAML i HorizontalPodScaler. W tym artykule skupiono się na szczegółowych krokach tworzenia, konfigurowania i wdrażania Kubernetes z automatycznym skalowaniem.