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å podsVed å 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:
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å distribusjonerEtter å 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 = 10Etter å 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.yamlEtter å 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/v1snill : 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.yamlUtdataene 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 = tjueHer 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å hpaKonklusjon
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.