Mikä on Kubectl Autoscale?
Automaattinen skaalaus on Kubernetes-klusterin pääominaisuus, joka saa resurssit päivittymään automaattisesti ilman manuaalista tekemistä. Vaativien resurssien manuaalinen päivittäminen on erittäin aikaa ja resursseja vievä prosessi. Kubernetes autoscaling tarjoaa automaattisen toiminnon resurssien optimointiin.
Autoscaler voi luoda ja tuhota solmujen määrän vaatimusten mukaan. Autoscale vähentää resurssien tuhlausta. Kubectl-automaattinen mittakaava valitsee automaattisesti Kubernetes-klusterin sisällä parhaillaan suoritettavat podit.
Skaalaustyyppejä on kahdenlaisia: (1) HorizontalPodScaler ja (2) pystyskaalaus. Horisontaalinen skaalaus on erilainen kuin pystyskaalaus. HorizontalPodScaler auttaa vähentämään tai lisäämään podeja tarvittaessa. Toisaalta pystyskaalaus käyttää resursseja, kuten prosessoria ja muistia.
Tässä ovat kaikki vaiheet, joita voit seurata järjestelmässäsi ja nähdä tulosteen paremman ymmärtämisen vuoksi.
Vaihe 1: Minikube-klusterin käynnistäminen
Ensimmäisessä vaiheessa käynnistä minikube-työkalu Kubernetes-klusterin suorittamiseksi, jotta voimme suorittaa 'kubectl autoscale' -komennon. Voit määrittää solmut, poddit ja jopa klusterin Kubernetes-ympäristössä minikube-klusterin avulla. Pidä minikube aktiivisessa tilassa käyttämällä seuraavaa komentoa:
~$ aloita minikube
Kuten seuraavassa tulosteen kuvakaappauksessa näet, tämä komento ottaa käyttöön minikube-klusterin ja tekee Kubernetes-ympäristöstä käyttökelpoisen:
Vaihe 2: Hanki podin tiedot
Tässä vaiheessa Kubernetes-klusteri toimii onnistuneesti. Nyt saamme pod-yksityiskohdat klusteriin. Kubernetesin pod on kokoelma yksiköitä, jotka jakavat resursseja. Seuraava komentosarja suoritetaan suorittamalla seuraava komento minikube-klusterissasi:
~$ kubectl get podsKäyttämällä edellistä komentoa, joka on 'kubectl get pods', voimme saada luettelon kaikista Kubernetes-klusterissa suoritettavista podista.
Kun olet suorittanut 'get pods' -komennon, saamme seuraavan lähdön:
Vaihe 3: Hanki Podin käyttöönotot
Edellisessä 'kubectl get pods' -komennossa saamme podien tiedot. Nyt käytämme 'get deployment' -komentoa saadaksemme luettelon luoduista käyttöönotoista. Tätä tarkoitusta varten suoritetaan seuraava komentosarja:
~$ kubectl get käyttöönottojaKomennon suorittamisen jälkeen tulos näkyy seuraavassa kuvakaappauksessa:
Vaihe 4: Automaattinen käyttöönotto
Autoscale-komentoa käytetään klusterissa suoritettavien podien automaatiovalintaan. Ottamalla automaattisen mittakaavan käyttöön klusterissa lisäämme ja lopetamme automaattisesti solmujen määrän. Seuraava komentosarja suoritetaan minikube-klusterissa, ja se näyttää tiedostonimen, ryhmien vähimmäismäärän ja enimmäismäärän, joissa podien tulee olla välillä 2–10:
~$ kubectl autoscale -käyttöönotto nginx1-deployment1 --min = 2 --max = 10Komennon suorittamisen jälkeen luodaan seuraava tulos:
Vaihe 5: Luo Kubernetes YAML -tiedosto
Tässä vaiheessa opit luomaan YAML-tiedoston klusteriin. YAML-tiedosto on hyödyllinen käyttöönoton ja sovellusten testaamiseen. Kubernetesissa on useita tyyppejä tiedoston luomiseen ja muokkaamiseen.
Tässä artikkelissa käytämme 'nano' -komentoa YAML-tiedoston luomiseen, koska se on helpoin tapa ja paras valinta aloittelijoille.
Noudata tässä annettuja ohjeita luodaksesi YAML-tiedoston nanolla:
- Luo uusi tiedosto tai muuta olemassa olevaa tiedostoa navigoimalla haluamaasi hakemistoon.
- Kirjoita 'nano'. Kirjoita sen jälkeen tiedoston nimi. Jos esimerkiksi haluat luoda uuden tiedostonimen, kirjoita se muistiin – 'deploo.yaml'.
Suorita seuraava komentosarja ja luo YAML-tiedosto projektihakemistoon:
~$ nano deploo.yamlKun olet luonut 'deploo.yaml'-tiedoston, seuraava vaihe on YAML-tiedoston konfigurointi. Selitämme sen seuraavassa vaiheessa.
Vaihe 6: YAML-tiedoston sisältö
Tässä vaiheessa voimme helposti määrittää Apache-palvelimen ja PHP-tiedostot. Ennen kuin käytämme HorizontalPodScaleria, meidän on määritettävä työkuormitusmonitori. Kuten seuraava koodinpätkä näyttää kind:deploymentin, verkkoselaimen portti on 90 ja suorittimen raja on 200 m.
Näet täydelliset 'deploo.yaml' -tiedoston tiedot täältä:
apiVersion : apps/v1ystävällinen : Käyttöönotto
metatiedot :
nimi : php
spec :
valitsin :
matchLabels :
juosta : php-apache
sapluuna :
metatiedot :
tarrat :
juosta : php-apache
spec :
astiat :
-nimi : php
kuva : registry.k8s.io/hpa-example
portit :
- konttiportti : 90
resursseja :
rajoja :
prosessori : 200m
pyynnöt :
prosessori : 100m
---
apiVersion : v1
kiltti : Palvelu
metatiedot :
nimi : php
tarrat :
juosta : php-apache
spec :
portit :
- portti : 70
valitsin :
juosta : php-apache
Vaihe 7: Luo käyttöönotto
Tässä vaiheessa luodaan YAML-tiedosto nimeltä 'deploo.yaml'. Seuraava komentosarja suoritetaan minikube-klusterissa:
~$ kubectl Create -f deploo.yamlEdellä mainitun suorittamamme komennon tulos näkyy seuraavassa kuvakaappauksessa. Tulos osoittaa, että YAML-tiedosto on luotu:
Vaihe 8: Luo HorizontalPodScaler
Tässä vaiheessa näytämme sinulle komennon luoda HorizontalPodAutoscaler. Podit asetetaan ja päätetään automaattisesti tarpeen mukaan. Se eroaa vertikaalisesta skaalauksesta, jossa suorittimen ja muistin resurssit määrätään automaattisella skaalauksella. Seuraava komentosarja suoritetaan minikube-klusterissa:
~$ kubectl automaattisen skaalauksen käyttöönotto php -- prosessori - prosenttia = viisikymmentä -- min = 10 – max = kaksikymmentäTässä näet, että asetamme minimi- ja maksimiarvoiksi 10 ja 20.
Liitteenä on edellisen komennon tulos:
Vaihe 9: Tarkista HorizontalPodScaler
Tässä vaiheessa tarkistamme juuri luodun HorizontalPodAutoscalerin nykyisen tilan. Seuraava komento suoritetaan:
~$ kubectl get hpaJohtopäätös
Yksi Kubernetesin hyödyllisimmistä ominaisuuksista on 'kubectl autoscale', joka tarjoaa automaattiset resurssipäivitykset Kubernetes-klusterissa. Autoscaler auttaa, kun klusterin on lisättävä tai vähennettävä tyynyjä. Tässä artikkelissa opimme kaksi automaattista skaalausmenetelmää – toinen on oletusarvoinen automaattiskaalaus ja toinen HorizontalPodScaler.
Ensin otimme palot käyttöön ja julistimme ne. Sitten loimme automaattisen skaalaimen ja määritimme Apache-palvelimen ottamaan käyttöön työkuormitusmonitorin ennen HorizontalPodScaleria. Sen jälkeen loimme YAML-tiedoston ja HorizontalPodScalerin. Tämä artikkeli keskittyi Kubernetesin automaattisen mittakaavan luomisen, määrittämisen ja käyttöönoton yksityiskohtaisiin vaiheisiin.