Čo je Kubectl Autoscale?
Automatické škálovanie je hlavnou funkciou v klastri Kubernetes, vďaka ktorej sa zdroje automaticky aktualizujú bez toho, aby ste to museli robiť manuálne. Manuálna aktualizácia náročných zdrojov je proces, ktorý plytvá časom a zdrojmi. Autoscaling Kubernetes poskytuje automatické zariadenie na optimalizáciu zdrojov.
Autoscaler môže vytvoriť a zničiť počet uzlov podľa požiadaviek. Autoscale znižuje plytvanie zdrojmi. Automatické škálovanie Kubectl automaticky vyberie moduly, ktoré sa momentálne spúšťajú v klastri Kubernetes.
Existujú dva typy škálovania: (1) HorizontalPodScaler a (2) Vertical scaler. Horizontálny scaler sa líši od vertikálneho scaleru. HorizontalPodScaler pomáha pri znižovaní alebo zväčšovaní strukov v prípade potreby. Na druhej strane vertikálny scaler využíva zdroje ako CPU a pamäť.
Tu sú všetky kroky, ktoré môžete vykonať vo svojom systéme a zobraziť výstup pre lepšie pochopenie.
Krok 1: Spustenie klastra Minikube
V prvom kroku spustite nástroj minikube na spustenie klastra Kubernetes, aby sme mohli vykonať príkaz „kubectl autoscale“. Svoje uzly, pody a dokonca aj klaster môžete nastaviť v prostredí Kubernetes pomocou klastra minikube. Ak to chcete urobiť, použite nasledujúci príkaz na ponechanie minikube v aktívnom režime:
~$ spustiť minikube
Ako môžete vidieť na nasledujúcej snímke výstupnej obrazovky, tento príkaz povoľuje klaster minikube a robí prostredie Kubernetes použiteľným:
Krok 2: Získajte podrobnosti o podu
V tomto kroku je klaster Kubernetes úspešne spustený. Teraz dostaneme podrobnosti o podu v klastri. Modul v Kubernetes je zbierka jednotiek, ktoré zdieľajú zdroje. Nasledujúci skript sa spustí spustením nasledujúceho príkazu vo vašom minikube klastri:
~$ kubectl dostať strúčikyPomocou predchádzajúceho príkazu, ktorým je „kubectl get pods“, môžeme získať zoznam všetkých podov, ktoré bežia v klastri Kubernetes.
Po vykonaní príkazu „get pods“ získame nasledujúci výstup:
Krok 3: Získajte Deployments of Pod
V predchádzajúcom príkaze „kubectl get pods“ získame podrobnosti o podoch. Teraz použijeme príkaz „získať nasadenie“ na získanie zoznamu vytvorených nasadení. Na tento účel sa spustí nasledujúci skript:
~$ kubectl získať nasadeniePo vykonaní príkazu sa na nasledujúcej snímke obrazovky zobrazí výstup:
Krok 4: Nasadenie automatického škálovania
Príkaz autoscale sa používa na výber automatizácie modulov, ktoré bežia v klastri. Nasadením autoscale v klastri automaticky vložíme a ukončíme počet uzlov. Nasledujúci skript sa spustí v klastri minikube a zobrazí názov súboru, minimálny počet modulov a maximálny počet modulov, kde by moduly mali byť medzi 2 až 10:
~$ kubectl autoscale deployment nginx1-deployment1 --min = 2 --max = 10Po vykonaní príkazu sa vygeneruje nasledujúci výstup:
Krok 5: Vytvorte súbor Kubernetes YAML
V tomto kroku sa naučíte vytvoriť súbor YAML v klastri. Súbor YAML je užitočný na nasadenie a testovanie aplikácií. V Kubernetes existujú rôzne typy na vytvorenie a úpravu súboru.
V tomto článku používame príkaz „nano“ na vytvorenie súboru YAML, pretože je to najjednoduchší spôsob a najlepšia voľba pre začiatočníkov.
Ak chcete vytvoriť súbor YAML pomocou nano, postupujte podľa uvedených krokov:
- Ak chcete vytvoriť nový súbor alebo zmeniť existujúci, prejdite do požadovaného umiestnenia adresára.
- Zadajte „nano“. Potom napíšte názov súboru. Ak napríklad chcete vytvoriť nový názov súboru, zapíšte si názov – „deploo.yaml“.
Spustite nasledujúci skript a vytvorte súbor YAML v adresári projektu:
~$ nano deploo.yamlPo vytvorení súboru „deploo.yaml“ je ďalším krokom konfigurácia súboru YAML. Vysvetlíme to v nasledujúcom kroku.
Krok 6: Obsah súboru YAML
V tomto kroku môžeme jednoducho nakonfigurovať server Apache a súbory PHP. Predtým, ako použijeme HorizontalPodScaler, musíme nakonfigurovať monitor pracovného zaťaženia. Ako ukazuje nasledujúci kus kódu kind:deployment, port webového prehliadača je 90 a limit CPU je 200 m.
Kompletné informácie o súbore „deploo.yaml“ si môžete pozrieť tu:
apiVersion : aplikácie/v1milý : Nasadenie
metaúdaje :
názov : php
špec :
selektor :
matchLabels :
behať : php-apache
šablóna :
metaúdaje :
štítky :
behať : php-apache
špec :
kontajnerov :
- názov : php
obrázok : register.k8s.io/hpa-example
prístavov :
- kontajnerPort : 90
zdrojov :
limity :
CPU : 200 m
žiadosti :
CPU : 100 m
---
apiVersion : v1
milý : servis
metaúdaje :
názov : php
štítky :
behať : php-apache
špec :
prístavov :
- prístav : 70
selektor :
behať : php-apache
Krok 7: Vytvorte rozmiestnenie
V tomto kroku vytvorte súbor YAML s názvom „deploo.yaml“. V klastri minikube sa spustí nasledujúci skript:
~$ kubectl vytvoriť -f deploo.yamlVýstup vyššie uvedeného príkazu, ktorý sme vykonali, môžete vidieť na nasledujúcom obrázku. Výstup indikuje, že súbor YAML bol vytvorený:
Krok 8: Vytvorte HorizontalPodScaler
V tomto kroku vám ukážeme príkaz na vytvorenie HorizontalPodAutoscaler. Podložky sa vkladajú a ukončujú automaticky v závislosti od dopytu. Odlišuje sa od vertikálneho škálovania, pri ktorom sú prostriedky CPU a pamäte priradené pomocou automatického škálovania. V klastri minikube sa spustí nasledujúci skript:
~$ nasadenie automatického škálovania kubectl php -- CPU - percent = päťdesiat -- min = 10 – max = dvadsaťTu môžete vidieť, že sme nastavili hodnoty pre minimum a maximum na 10 a 20.
V prílohe je výstup predchádzajúceho príkazu:
Krok 9: Skontrolujte HorizontalPodScaler
V tomto kroku skontrolujeme aktuálny stav HorizontalPodAutoscaler, ktorý je novo vytvorený. Vykoná sa nasledujúci príkaz:
~$ kubectl získať hpaZáver
Jednou z najužitočnejších funkcií Kubernetes je „automatické škálovanie kubectl“, ktoré poskytuje automatické aktualizácie zdrojov v klastri Kubernetes. Autoscaler pomáha, keď klaster potrebuje zväčšiť alebo zmenšiť struky. V tomto článku sme sa naučili dve metódy automatického škálovania – jedna je predvolený automatický škálovač a druhá je HorizontalPodScaler.
Najprv sme rozmiestnili struky a vyhlásili ich. Potom sme vytvorili automatický škálovač a nakonfigurovali server Apache na nasadenie monitora pracovného zaťaženia pred HorizontalPodScaler. Potom sme vytvorili súbor YAML a HorizontalPodScaler. Tento článok sa zameral na podrobné kroky vytvorenia, konfigurácie a nasadenia automatického škálovania Kubernetes.