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:
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 StartMinikube 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.YamlFø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.YamlEtter 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 = 10Nå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å HPASom 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-apacheTrinn 9: Lag flere replikker
I dette trinnet lager vi kopien av samme pod i Kubernetes med samme kommando:
> Kubectl Få HPA PHP -Apache -WatchDenne 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-apacheKonklusjon
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ø.