Kubectl-opdracht voor automatisch schalen

Kubectl Opdracht Voor Automatisch Schalen



Kubernetes biedt de mogelijkheid om automatisch te schalen om de resources automatisch te beheren zonder menselijke tussenkomst. De autoscale-functie verandert automatisch het aantal knooppunten wanneer dat nodig is en bespaart bronnen. In dit artikel leren we hoe we de opdracht 'kubectl autoscale' en 'HorizontalPodScaler' autoscaling kunnen implementeren. Deze tutorial leert dit belangrijke concept in detail. Laten we eerst bespreken wat het kubectl autoscale-concept is en vervolgens naar het stapsgewijze proces gaan voor een beter begrip. Dit artikel is erg handig als u nieuw bent met het concept van Kubernetes autoscaling.

Wat is Kubectl automatisch schalen?

Autoscaling is de belangrijkste functie in het Kubernetes-cluster, waardoor de resources automatisch worden bijgewerkt zonder dat u dit handmatig hoeft te doen. Het is een zeer tijd- en middelenverspillend proces om de veeleisende bronnen handmatig bij te werken. Kubernetes autoscaling biedt een automatische mogelijkheid om de bronnen te optimaliseren.

Autoscaler kan het aantal knooppunten maken en vernietigen volgens de vereisten. Autoscale vermindert de verspilling van middelen. De Kubectl autoscale kiest automatisch de pods die momenteel worden uitgevoerd binnen het Kubernetes-cluster.







Er zijn twee soorten schaling: (1) HorizontalPodScaler en (2) Vertical scaler. De horizontale scaler is anders dan de verticale scaler. De HorizontalPodScaler helpt bij het verkleinen of vergroten van pods wanneer dat nodig is. Aan de andere kant gebruikt de verticale scaler bronnen zoals CPU en geheugen.



Hier zijn alle stappen die u in uw systeem kunt volgen en bekijk de uitvoer voor een beter begrip.



Stap 1: een Minikube-cluster starten

Start in de eerste stap de minikube-tool om het Kubernetes-cluster uit te voeren, zodat we de opdracht 'kubectl autoscale' kunnen uitvoeren. U kunt uw knooppunten, pods en zelfs een cluster instellen in de Kubernetes-omgeving met behulp van het minikube-cluster. Gebruik hiervoor de volgende opdracht om de minikube in actieve modus te houden:





~$ start minikube

Zoals u kunt zien in de volgende uitvoerscreenshot, schakelt deze opdracht het minikube-cluster in en maakt de Kubernetes-omgeving bruikbaar:

Stap 2: Verkrijg de Pod-details

In deze stap wordt het Kubernetes-cluster met succes uitgevoerd. Nu krijgen we de poddetails in het cluster. De pod in Kubernetes is de verzameling eenheden die resources delen. Het volgende script wordt uitgevoerd door de volgende opdracht uit te voeren in uw minikube-cluster:

~$ kubectl krijgt pods

Met behulp van de vorige opdracht, namelijk 'kubectl get pods', kunnen we de lijst ophalen met alle pods die in het Kubernetes-cluster worden uitgevoerd.

Na het uitvoeren van de opdracht 'get pods', verkrijgen we de volgende uitvoer:

  Een screenshot van een computerprogramma Beschrijving automatisch gegenereerd met weinig vertrouwen

Stap 3: Verkrijg de implementaties van Pod

In de vorige opdracht 'kubectl get pods' krijgen we de details van pods. Nu gebruiken we de opdracht 'implementatie ophalen' om de lijst met gemaakte implementaties te verkrijgen. Hiervoor wordt het volgende script uitgevoerd:

~$ kubectl implementaties ophalen

Na het uitvoeren van de opdracht toont de volgende schermafbeelding de uitvoer:

Stap 4: Implementatie automatisch schalen

De opdracht automatisch schalen wordt gebruikt om de automatiseringsselectie te maken van pods die in het cluster worden uitgevoerd. Door automatisch schalen in het cluster te implementeren, voegen we automatisch het aantal knooppunten toe en beëindigen we het. Het volgende script wordt uitgevoerd in het minikube-cluster en toont de bestandsnaam, het minimum aantal pods en het maximum aantal pods waar de pods tussen 2 en 10 moeten zijn:

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

Na het uitvoeren van de opdracht wordt de volgende uitvoer gegenereerd:

Stap 5: Maak een Kubernetes YAML-bestand

In deze stap leert u het YAML-bestand in het cluster te maken. YAML-bestand is handig voor implementatie en het testen van applicaties. Er zijn verschillende typen in Kubernetes om het bestand te maken en te bewerken.

In dit artikel gebruiken we de opdracht 'nano' om het YAML-bestand te maken, omdat dit de gemakkelijkste manier en de beste keuze is voor beginners.

Volg de gegeven stappen hier om een ​​YAML-bestand te maken met nano:

  • Om een ​​nieuw bestand aan te maken of een bestaand bestand te wijzigen, navigeert u naar de gewenste maplocatie.
  • Typ 'nano' in. Schrijf daarna de naam van het bestand. Als u bijvoorbeeld een nieuwe bestandsnaam wilt maken, noteert u de naam - 'deploo.yaml'.

Voer het volgende script uit en maak een YAML-bestand in de projectdirectory:

~$ nano deploo.yaml

Na het maken van het bestand 'deploo.yaml', is de volgende stap het configureren van het YAML-bestand. We leggen het uit in de volgende stap.

Stap 6: Inhoud van het YAML-bestand

In deze stap kunnen we eenvoudig de Apache-server en PHP-bestanden configureren. Voordat we de HorizontalPodScaler gebruiken, moeten we de werklastmonitor configureren. Zoals het volgende stukje code de soort:deployment laat zien, is de poort van de webbrowser 90 en de CPU-limiet 200m.

U kunt de volledige bestandsinformatie van 'deploo.yaml' hier bekijken:

apiVersie : toepassingen/v1
vriendelijk
: Inzet
metagegevens
:
naam
: php
spec
:
kiezer
:
matchLabels
:
loop
: php-apache
sjabloon
:
metagegevens
:
etiketten
:
loop
: php-apache
spec
:
containers
:
- naam
: php
afbeelding
: registry.k8s.io/hpa-voorbeeld
havens
:
- containerhaven
: 90
bronnen
:
grenzen
:
CPU
: 200m
aanvragen
:

CPU
: 100 meter
---
apiVersie
: v1
vriendelijk
: Dienst
metagegevens
:
naam
: php
etiketten
:
loop
: php-apache
spec
:
havens
:
- poort
: 70
kiezer
:
loop
: php-apache

Stap 7: Maak de implementatie

Laten we in deze stap het YAML-bestand met de naam 'deploo.yaml' maken. Het volgende script wordt uitgevoerd in het minikube-cluster:

~$ kubectl create -f deploo.yaml

De uitvoer van de bovengenoemde opdracht die we hebben uitgevoerd, is te zien in de onderstaande schermafbeelding. De uitvoer geeft aan dat het YAML-bestand is gemaakt:

Stap 8: Maak de HorizontalPodScaler

In deze stap laten we u de opdracht zien om de HorizontalPodAutoscaler te maken. De pods worden automatisch geplaatst en beëindigd, afhankelijk van de vraag. Het verschilt van verticaal schalen, waarbij de CPU- en geheugenresources worden toegewezen door automatisch schalen. Het volgende script wordt uitgevoerd in het minikube-cluster:

~$ kubectl autoscale implementatie php -- CPU - procent = vijftig -- min = 10 –max = twintig

Hier kunt u zien dat we de waarden voor minimum en maximum hebben ingesteld op 10 en 20.

Bijgevoegd is de uitvoer van het vorige commando:

Stap 9: Controleer de HorizontalPodScaler

In deze stap controleren we de huidige status van de nieuw gemaakte HorizontalPodAutoscaler. De volgende opdracht wordt uitgevoerd:

~$ kubectl krijg hpa

Conclusie

Een van de handigste functies van Kubernetes is de 'kubectl autoscale' die zorgt voor automatische bronupdates in het Kubernetes-cluster. Autoscaler helpt wanneer een cluster het aantal pods moet vergroten of verkleinen. In dit artikel hebben we de twee methoden voor automatisch schalen geleerd: de ene is de standaard autoscaler en de andere is de HorizontalPodScaler.

Eerst hebben we de pods ingezet en gedeclareerd. Vervolgens hebben we de autoscaler gemaakt en de Apache-server geconfigureerd om de workloadmonitor vóór de HorizontalPodScaler te implementeren. Daarna hebben we een YAML-bestand en de HorizontalPodScaler gemaakt. Dit artikel is gericht op de gedetailleerde stappen voor het maken, configureren en implementeren van Kubernetes voor automatisch schalen.