Kubectl Autoskaleringskommando

Kubectl Autoskaleringskommando



Kubernetes giver mulighed for automatisk skalering til at styre ressourcerne automatisk uden menneskelig interaktion. Autoskaleringsfunktionen ændrer automatisk antallet af noder efter behov og sparer ressourcer. I denne artikel vil vi lære, hvordan du implementerer kommandoen 'kubectl autoscale' og 'HorizontalPodScaler' autoskalering. Denne tutorial lærer dette vigtige koncept i detaljer. Lad os først diskutere, hvad kubectl autoscale-konceptet er og derefter gå mod den trinvise proces for bedre forståelse. Denne artikel er meget nyttig, hvis du er ny til konceptet Kubernetes autoskalering.

Hvad er Kubectl Autoscale?

Autoskalering er hovedfunktionen i Kubernetes-klyngen, som får ressourcerne til at opdatere automatisk uden besværet med at gøre det manuelt. Det er en meget tids- og ressourcespildende proces at opdatere de krævende ressourcer manuelt. Kubernetes autoskalering giver en automatisk facilitet til at optimere ressourcerne.

Autoscaler kan oprette og ødelægge antallet af noder i henhold til krav. Autoskalering reducerer ressourcespildet. Kubectl autoskalering vælger automatisk de pods, der i øjeblikket udføres inde i Kubernetes-klyngen.







Der er to typer skalering: (1) HorizontalPodScaler og (2) Vertical scaler. Den horisontale scaler er forskellig fra den lodrette scaler. HorizontalPodScaler hjælper med at reducere eller øge pods, når det er nødvendigt. På den anden side bruger Vertical scaler ressourcer som CPU og hukommelse.



Her er alle de trin, du kan følge i dit system og se outputtet for en bedre forståelse.



Trin 1: Start af en Minikube-klynge

I det første trin skal du starte minikube-værktøjet for at køre Kubernetes-klyngen, så vi kan udføre kommandoen 'kubectl autoscale'. Du kan konfigurere dine noder, pods og endda en klynge i Kubernetes-miljøet ved hjælp af minikube-klyngen. For at gøre det skal du bruge følgende kommando til at holde minikuben i aktiv tilstand:





~$ start minikube

Som du kan se i det følgende output-skærmbillede, aktiverer denne kommando minikube-klyngen og gør Kubernetes-miljøet brugbart:

Trin 2: Få Pod-detaljerne

I dette trin kører Kubernetes-klyngen med succes. Nu får vi pod-detaljerne i klyngen. Poden i Kubernetes er samlingen af ​​enheder, der deler ressourcer. Følgende script udføres ved at køre følgende kommando i din minikube-klynge:

~$ kubectl få bælg

Ved at bruge den forrige kommando, som er 'kubectl get pods', kan vi få listen over alle pods, der kører i Kubernetes-klyngen.

Efter at have udført kommandoen 'get pods', får vi følgende output:

  Et skærmbillede af et computerprogram Beskrivelse genereret automatisk med lav selvtillid

Trin 3: Hent implementeringer af Pod

I den forrige kommando 'kubectl get pods' får vi detaljerne om pods. Nu bruger vi kommandoen 'get deployment' til at få en liste over de oprettede implementeringer. Følgende script udføres til dette formål:

~$ kubectl få implementeringer

Efter at have udført kommandoen, viser følgende skærmbillede outputtet:

Trin 4: Autoskaleringsimplementering

Autoskaleringskommandoen bruges til at foretage automatiseringsvalg af pods, der kører i klyngen. Ved at implementere autoskalering i klyngen indsætter og afslutter vi automatisk antallet af noder. Følgende script udføres i minikube-klyngen, og det viser filnavnet, minimum pods og maksimum pods, hvor pods skal være mellem 2 og 10:

~$ kubectl autoscale implementering nginx1-deployment1 --min = 2 --max = 10

Efter udførelse af kommandoen genereres følgende output:

Trin 5: Opret en Kubernetes YAML-fil

I dette trin lærer du at oprette YAML-filen i klyngen. YAML-filen er nyttig til implementering og applikationstest. Der er forskellige typer i Kubernetes til at oprette og redigere filen.

I denne artikel bruger vi kommandoen 'nano' til at oprette YAML-filen, fordi det er den nemmeste måde og det bedste valg for begyndere.

Følg de givne trin her for at oprette en YAML-fil ved hjælp af nano:

  • For at oprette en ny fil eller ændre en eksisterende, skal du navigere til den ønskede mappeplacering.
  • Indtast 'nano'. Skriv derefter navnet på filen. Hvis du f.eks. ønsker at oprette et nyt filnavn, skriv navnet ned – 'deploo.yaml'.

Kør følgende script og opret en YAML-fil i projektmappen:

~$ nano deploo.yaml

Efter at have oprettet filen 'deploo.yaml', er næste trin at konfigurere YAML-filen. Vi forklarer det i det følgende trin.

Trin 6: Indhold af YAML-fil

I dette trin kan vi nemt konfigurere Apache-serveren og PHP-filer. Før vi bruger HorizontalPodScaler, skal vi konfigurere arbejdsbelastningsmonitoren. Da følgende stykke kode viser type:deployment, er porten på webbrowseren 90, og CPU-grænsen er 200m.

Du kan se den komplette 'deploo.yaml' filinformation her:

apiVersion : apps/v1
venlig
: Implementering
metadata
:
navn
: php
spec
:
vælger
:
matchLabels
:
løb
: php-apache
skabelon
:
metadata
:
etiketter
:
løb
: php-apache
spec
:
containere
:
- navn
: php
billede
: registry.k8s.io/hpa-eksempel
havne
:
- containerPort
: 90
ressourcer
:
grænser
:
cpu
: 200m
anmodninger
:

cpu
: 100m
---
apiVersion
: v1
venlig
: Service
metadata
:
navn
: php
etiketter
:
løb
: php-apache
spec
:
havne
:
- Havn
: 70
vælger
:
løb
: php-apache

Trin 7: Opret implementeringen

I dette trin, lad os oprette YAML-filen med navnet 'deploo.yaml'. Følgende script udføres i minikube-klyngen:

~$ kubectl oprette -f deploo.yaml

Outputtet af den førnævnte kommando, som vi udførte, kan ses på skærmbilledet, der følger. Outputtet indikerer, at YAML-filen er blevet oprettet:

Trin 8: Opret HorizontalPodScaler

I dette trin viser vi dig kommandoen til at oprette HorizontalPodAutoscaler. Poderne indsættes og afsluttes automatisk afhængigt af efterspørgsel. Det adskiller sig fra lodret skalering, hvor CPU'en og hukommelsesressourcerne tildeles af autoskalering. Følgende script udføres i minikube-klyngen:

~$ kubectl autoscale implementering php -- cpu - procent = halvtreds -- min = 10 –max = tyve

Her kan du se, at vi sætter værdierne for minimum og maksimum til 10 og 20.

Vedhæftet er output fra den forrige kommando:

Trin 9: Tjek HorizontalPodScaler

I dette trin kontrollerer vi den nuværende status for HorizontalPodAutoscaler, som er nyoprettet. Følgende kommando udføres:

~$ kubectl få hpa

Konklusion

En af de mest nyttige funktioner i Kubernetes er 'kubectl autoscale', som giver automatiske ressourceopdateringer i Kubernetes-klyngen. Autoscaler hjælper, når en klynge skal øge pods eller reducere pods. I denne artikel lærte vi de to autoskaleringsmetoder - den ene er standard autoscaler og den anden er HorizontalPodScaler.

Først udsatte vi bælgerne og erklærede dem. Derefter oprettede vi autoscaleren og konfigurerede Apache-serveren til at implementere arbejdsbelastningsmonitoren før HorizontalPodScaler. Derefter oprettede vi en YAML-fil og HorizontalPodScaler. Denne artikel fokuserede på de detaljerede trin til oprettelse, konfiguration og implementering af autoscale Kubernetes.