Kubectl Autoscale Command

Kubectl Autoscale Command



Kubernetes gir mulighet for automatisk skalering for å administrere ressursene automatisk uten menneskelig interaksjon. Autoskaleringsfunksjonen endrer automatisk antall noder ved behov og sparer ressurser. I denne artikkelen vil vi lære hvordan du distribuerer kommandoen 'kubectl autoscale' og automatisk skalering av 'HorizontalPodScaler'. Denne opplæringen lærer dette viktige konseptet i detalj. La oss først diskutere hva kubectl autoscale-konseptet er og deretter gå mot trinn-for-trinn-prosessen for bedre forståelse. Denne artikkelen er veldig nyttig hvis du er ny på konseptet med Kubernetes autoskalering.

Hva er Kubectl Autoscale?

Autoskalering er hovedfunksjonen i Kubernetes-klyngen som gjør at ressursene automatisk oppdateres uten å måtte gjøre det manuelt. Det er en svært tids- og ressurssløsende prosess å oppdatere de krevende ressursene manuelt. Kubernetes autoskalering gir en automatisk funksjon for å optimalisere ressursene.

Autoscaler kan opprette og ødelegge antall noder i henhold til krav. Autoskalering reduserer sløsing med ressurser. Kubectl autoskalering velger automatisk podene som kjører i Kubernetes-klyngen.







Det er to typer skalering: (1) HorizontalPodScaler og (2) Vertical scaler. Den horisontale skaleren er forskjellig fra den vertikale skaleren. HorizontalPodScaler hjelper med å redusere eller øke pods når det er nødvendig. På den annen side bruker Vertical scaler ressurser som CPU og minne.



Her er alle trinnene du kan følge i systemet ditt og se resultatet for en bedre forståelse.



Trinn 1: Starte en Minikube-klynge

I det første trinnet, start minikube-verktøyet for å kjøre Kubernetes-klyngen slik at vi kan utføre kommandoen 'kubectl autoscale'. Du kan sette opp noder, pods og til og med en klynge i Kubernetes-miljøet ved å bruke minikube-klyngen. For å gjøre det, bruk følgende kommando for å holde minikuben i aktiv modus:





~$ start minikube

Som du kan se i følgende utdataskjermbilde, aktiverer denne kommandoen minikube-klyngen og gjør Kubernetes-miljøet brukbart:

Trinn 2: Få Pod-detaljene

I dette trinnet kjører Kubernetes-klyngen. Nå får vi pod-detaljene i klyngen. Poden i Kubernetes er samlingen av enheter som deler ressurser. Følgende skript utføres ved å kjøre følgende kommando i minikube-klyngen din:

~$ kubectl få pods

Ved å bruke den forrige kommandoen som er 'kubectl get pods', kan vi få listen over alle pods som kjører i Kubernetes-klyngen.

Etter å ha utført kommandoen 'get pods', får vi følgende utgang:

  Et skjermbilde av et dataprogram Beskrivelse generert automatisk med lav selvtillit

Trinn 3: Få utplasseringene av Pod

I den forrige kommandoen 'kubectl get pods' får vi detaljene om pods. Nå bruker vi kommandoen 'get deployment' for å hente listen over opprettede distribusjoner. Følgende skript kjøres for dette formålet:

~$ kubectl få distribusjoner

Etter å ha utført kommandoen, viser følgende skjermbilde utdata:

Trinn 4: Autoskaleringsimplementering

Autoscale-kommandoen brukes til å foreta automatiseringsvalget av pods som kjører i klyngen. Ved å distribuere autoskalering i klyngen, setter vi automatisk inn og avslutter antall noder. Følgende skript kjøres i minikube-klyngen og viser filnavnet, minimum pods og maksimum pods der podene skal være mellom 2 og 10:

~$ kubectl autoscale distribusjon nginx1-deployment1 --min = 2 --maks = 10

Etter å ha utført kommandoen, genereres følgende utdata:

Trinn 5: Lag en Kubernetes YAML-fil

I dette trinnet lærer du å lage YAML-filen i klyngen. YAML-filen er nyttig for distribusjon og applikasjonstesting. Det finnes ulike typer i Kubernetes for å opprette og redigere filen.

I denne artikkelen bruker vi kommandoen 'nano' for å lage YAML-filen fordi det er den enkleste måten og det beste valget for nybegynnere.

Følg de angitte trinnene her for å lage en YAML-fil ved hjelp av nano:

  • For å opprette en ny fil eller endre en eksisterende, naviger til ønsket katalogplassering.
  • Skriv inn «nano». Etter det skriver du navnet på filen. Hvis du for eksempel ønsker å opprette et nytt filnavn, skriv ned navnet – «deploo.yaml».

Kjør følgende skript og lag en YAML-fil i prosjektkatalogen:

~$ nano deploo.yaml

Etter å ha opprettet 'deploo.yaml'-filen, er neste trinn å konfigurere YAML-filen. Vi forklarer det i det følgende trinnet.

Trinn 6: Innhold i YAML-fil

I dette trinnet kan vi enkelt konfigurere Apache-serveren og PHP-filer. Før vi bruker HorizontalPodScaler, må vi konfigurere arbeidsbelastningsmonitoren. Siden følgende kode viser type:deployment, er porten til nettleseren 90 og CPU-grensen er 200m.

Du kan se den fullstendige 'deploo.yaml'-filinformasjonen her:

apiVersjon : apps/v1
snill
: Utplassering
metadata
:
Navn
: php
spes
:
velger
:
matchEtiketter
:
løpe
: php-apache
mal
:
metadata
:
etiketter
:
løpe
: php-apache
spes
:
containere
:
- Navn
: php
bilde
: registry.k8s.io/hpa-eksempel
havner
:
- containerPort
: 90
ressurser
:
grenser
:
prosessor
: 200m
forespørsler
:

prosessor
: 100m
---
apiVersjon
: v1
snill
: Service
metadata
:
Navn
: php
etiketter
:
løpe
: php-apache
spes
:
havner
:
- havn
: 70
velger
:
løpe
: php-apache

Trinn 7: Opprett distribusjonen

I dette trinnet, la oss lage YAML-filen kalt 'deploo.yaml'. Følgende skript kjøres i minikube-klyngen:

~$ kubectl opprette -f deploo.yaml

Utdataene fra den nevnte kommandoen som vi utførte kan sees i skjermbildet som følger. Utdataene indikerer at YAML-filen er opprettet:

Trinn 8: Lag HorizontalPodScaler

I dette trinnet vil vi vise deg kommandoen for å lage HorizontalPodAutoscaler. Podene settes inn og termineres automatisk avhengig av etterspørsel. Det er forskjellig fra vertikal skalering, der CPU- og minneressursene tildeles ved autoskalering. Følgende skript kjøres i minikube-klyngen:

~$ kubectl autoscale distribusjon php -- prosessor - prosent = femti -- min = 10 –maks = tjue

Her kan du se at vi setter verdiene for minimum og maksimum til 10 og 20.

Vedlagt er utdata fra forrige kommando:

Trinn 9: Sjekk HorizontalPodScaler

I dette trinnet sjekker vi den nåværende statusen til HorizontalPodAutoscaler som er nylig opprettet. Følgende kommando utføres:

~$ kubectl få hpa

Konklusjon

En av de mest nyttige funksjonene til Kubernetes er 'kubectl autoscale' som gir automatiske ressursoppdateringer i Kubernetes-klyngen. Autoscaler hjelper når en klynge trenger å øke pods eller redusere pods. I denne artikkelen lærte vi de to autoskaleringsmetodene – den ene er standard autoskalering og den andre er HorizontalPodScaler.

Først utplasserte vi podene og erklærte dem. Deretter opprettet vi autoscaleren og konfigurerte Apache-serveren til å distribuere arbeidsbelastningsmonitoren før HorizontalPodScaler. Etter det opprettet vi en YAML-fil og HorizontalPodScaler. Denne artikkelen fokuserte på de detaljerte trinnene for å opprette, konfigurere og distribuere Autoscale Kubernetes.