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ąkiKorzystają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:
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żeniaPo 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 = 10Po 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.yamlPo 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/v1Uprzejmy : 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.yamlDane 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 = 20Tutaj 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 hpaWniosek
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.