Konfigurer HPA i Kubernetes

Konfigurer HPA i Kubernetes
I denne artikkelen vil vi diskutere konfigurasjonen av horisontal pod autoscaling i Kubernetes. Dette emnet er veldig interessant og informativt i Kubernetes. Det er mye forvirring rundt hvordan containerne skaleres horisontalt i Kubernetes. I denne redaksjonen vil vi snakke om hver eneste detalj med relevante skjermbilder. Hvis du ikke har noen anelse om Kubernetes, kan du gå gjennom de tidligere artiklene våre som er relatert til Kubernetes. HPA er automatisk skalering av belg, horisontalt. La oss se på følgende seksjoner for mer forståelse.

Hva er HPA i Kubernetes?

HPA står for horisontal pod autoscaler i Kubernetes, og det endrer strukturen til Kubernetes trafikkarbeidsmengde ved automatisk å øke eller redusere antall POD -er i henhold til CPU -utnyttingskapasitet. I motsetning til å endre ressursene som tildeles en enkelt beholder, blir denne skaleringen utført horisontalt fordi den påvirker det totale antallet CPU -forekomster.

Hvordan fungerer HPA i Kubernetes?

Vi er alle klar over at CPU håndterer prosesser. Så snart vi distribuerer og angir kopiering. Kubernetes gir horisontal pod autoscaling for å automatisere denne prosessen. HPA er kontrolleren som brukes til å kontrollere CPU -utnyttelsen gjennom automatisering. En Kubernetes -applikasjonsskalaer automatisk basert på arbeidsmengder. Hvis antall trafikkfall og CPU -utnyttelsen avtar, skaleres den ned. Kubernetes -applikasjonen skalerer ut når arbeidsmengden øker ved å lage flere kopier av Kubernetes -applikasjonen.

Forutsetninger:

Følgende er pålagt å kjøre HPA i Kubernetes -applikasjonen din:

  • Installert den siste versjonen av Ubuntu i systemet ditt.
  • Hvis du er en Windows -bruker, må du først installere den virtuelle boksen og kjøre Ubuntu eller Linux praktisk talt i systemet ditt.
  • Installert siste versjon av Kubernetes i systemet ditt med versjon 1.23.
  • Du må ha en ide om Kubernetes Cluster og Kubectl -kommandolinjeverktøyet som vi kjører kommandoene. Du må kjenne konfigurasjonen deres.

I denne artikkelen vil vi lære hver eneste detalj med nyttige eksempler. Hvis du er nybegynner, er dette det rette stedet for deg å lære om Kubernetes -metoder. Vi vil forklare om HPA -konfigurasjonsprosessen i forskjellige trinn. La oss begynne!

Trinn 1: Kubernetes Container Startup

I dette trinnet starter vi med Kubernetes -beholderen som er en Minikube. Vi kjører følgende kommando for å starte Minikube:

> Minikube Start

Minikube starter etter utførelse av kommandoen. Minikube gir oss en lokal Kubernetes -beholder der vi utfører forskjellige handlinger.

Trinn 2: Kjør PHP-Apache-serveren i YAML-filen

I dette trinnet oppretter vi en konfigurasjonsfil etter at en container er opprettet for å starte en distribusjon. Vi kjører følgende kommando for å opprette en YAML -fil:

> Nano PHP.Yaml

Følgende er utførelsen av kommandoen som er nevnt i vedlagte skjermbilde.

Konfigurasjonsfilen inneholder forskjellige typer data som navnet på filen, spesifikasjonen for containere og spesifikasjonen for velgeren. Denne containeren kjører ved hjelp av “Register.K8s.IO/HPA-Eksempel ”-bilde som vi kan se i følgende skjermbilde:

Dette er også YAML -fildelen:

Trinn 3: Lag en distribusjon og tjenester i Kubernetes

I dette trinnet lager vi en distribusjon og erklærer den som en tjeneste ved hjelp av vedlagte skjermbilde. Vi utfører følgende kommando i terminalen:

> Kubectl gjelder -f php.Yaml

Etter denne kommandoutførelsen opprettes PHP-Apache-distribusjonsserveren. Sammen med dette opprettes tjenesten vellykket.

Trinn 4: Lag en horisontal pod autoskaler i Kubernetes

I dette trinnet oppretter vi en horisontal pod autoscaler ved hjelp av KUBECTL på distribusjonsserveren. For dette formålet kjører vi følgende kommando:

> Kubectl Autoscale -distribusjon PHP -Apache - -CPU -prosent = 50 -MIN = 1 -MAX = 10

Når vi utfører denne kommandoen, opprettes den horisontale pod -autoskaleren. I forrige kommando initialiserer vi også min- og maksverdiene. Dette betyr at den horisontale pod -autoskaleren opprettholdes mellom 1 til 10 kopier av pod. Alt dette kontrolleres av distribusjonen PHP-Apache-serveren.

Trinn 5: Sjekk den horisontale pod autosalerstatus i Kubernetes

I dette trinnet ønsker vi å få eller sjekke statusen til HPA - hvis noen HPA er til stede i Kubernetes eller ikke. Vi kjører vedlagte kommando for dette formålet:

> Kubectl Få HPA

Som vi har sett i det tidligere tilknyttede skjermbildet, er en HPA til stede i containeren vår, og navnet er "PHP-Apache". Henvisningen til denne pod er "distribusjon/php-apache". Målene viser oss at CPU -forbruket av denne POD er ​​ukjent for 50%, noe som betyr at ingen klientforespørsel mottas. Minimum antall pod er 1 og maksimalt antall pods er 10. Replikkene er “0” og alderen på denne pod er “7s”.

Trinn 6: Øk en arbeidsmengde eller trafikk på serveren

I dette trinnet kobler vi oss til distribusjonen som tidligere er opprettet for å lage en pod og sjekke HPA i det virkelige miljøet for å se om HPA kan administrere ressursene eller ikke. Vi øker også belastningen på klyngen ved å kjøre følgende påfølgende kommando:

> Kubectl Run -i -tty Load -Generator -RM -Image = BusyBox: 1.28 -Restart = aldri - /bin /sh -c “mens du sover 0.01; do wget -q -o- http: // php -apache; gjort "

Trinn 7: Se HPA etter utførelse

Vi kan enkelt se listen over HPA ved å kjøre følgende kommando:

> Kubectl Få HPA PHP-Apache-Se på

Etter å ha kjørt den tidligere nevnte kommandoen, vises resultatet det samme som i trinn 6 i denne artikkelen.

Trinn 8: Vis distribusjon av Kubernetes

I dette trinnet henter vi listen over Kubernetes -distribusjoner ved bare å kjøre følgende kommando:

> Kubectl Få distribusjon av php-apache

Trinn 9: Lag flere replikker

I dette trinnet lager vi kopien av samme pod i Kubernetes med samme kommando:

> Kubectl Få HPA PHP -Apache -Watch

Denne kommandoen ser på pod -detalj etter utførelse. Vi kan se denne poddetaljene i det tidligere nevnte skjermbildet.

Trinn 10: Venv distribusjonen igjen

I dette trinnet kjører vi den samme kommandoen for å vise distribusjonen. Kommandoen er som følger:

> Kubectl Få distribusjon av php-apache

Konklusjon

Denne artikkelen handler om HPA. HPA gir et anlegg for automatisering som er relatert til CPU -utnyttelse. Vi lærte hver trinn-i detalj for HPA-konfigurasjon. Vi håper at du også vil forstå arbeidet med HPA, og du kan gjøre denne praksisen i ditt miljø.