Comando di scalabilità automatica Kubectl

Comando Di Scalabilita Automatica Kubectl



Kubernetes fornisce funzionalità di scalabilità automatica per gestire le risorse automaticamente senza interazione umana. La funzione di scalabilità automatica modifica automaticamente il numero di nodi quando richiesto e consente di risparmiare risorse. In questo articolo impareremo come distribuire il comando 'kubectl autoscale' e il ridimensionamento automatico 'HorizontalPodScaler'. Questo tutorial insegna questo importante concetto in dettaglio. Parliamo innanzitutto di cosa sia il concetto di scalabilità automatica di kubectl e poi dirigiamoci verso il processo dettagliato per una migliore comprensione. Questo articolo è molto utile se sei nuovo al concetto di scalabilità automatica di Kubernetes.

Che cos'è la scalabilità automatica di Kubectl?

La scalabilità automatica è la caratteristica principale del cluster Kubernetes che fa in modo che le risorse si aggiornino automaticamente senza il fastidio di farlo manualmente. È un processo molto dispendioso in termini di tempo e risorse aggiornare manualmente le risorse impegnative. La scalabilità automatica di Kubernetes fornisce una funzione automatica per ottimizzare le risorse.

Autoscaler può creare e distruggere il numero di nodi secondo i requisiti. La scalabilità automatica riduce lo spreco di risorse. La scalabilità automatica di Kubectl sceglie automaticamente i pod attualmente in esecuzione all'interno del cluster Kubernetes.







Esistono due tipi di ridimensionamento: (1) HorizontalPodScaler e (2) Vertical scaler. Lo scaler orizzontale è diverso dallo scaler verticale. HorizontalPodScaler aiuta a diminuire o aumentare i pod quando necessario. D'altra parte, lo scaler verticale utilizza risorse come CPU e memoria.



Ecco tutti i passaggi che puoi seguire nel tuo sistema e vedere l'output per una migliore comprensione.



Passaggio 1: avvio di un cluster Minikube

Nella prima fase, avvia lo strumento minikube per eseguire il cluster Kubernetes in modo da poter eseguire il comando 'kubectl autoscale'. Puoi configurare nodi, pod e persino un cluster nell'ambiente Kubernetes utilizzando il cluster minikube. Per fare ciò, usa il seguente comando per mantenere il minikube in modalità attiva:





~$ avviare minikube

Come puoi vedere nella seguente schermata di output, questo comando abilita il cluster minikube e rende utilizzabile l'ambiente Kubernetes:

Passaggio 2: ottenere i dettagli del pod

In questa fase, il cluster Kubernetes viene eseguito correttamente. Ora otteniamo i dettagli del pod nel cluster. Il pod in Kubernetes è la raccolta di unità che condivide le risorse. Il seguente script viene eseguito eseguendo il seguente comando nel tuo cluster minikube:

~$ kubectl ottieni i pod

Utilizzando il comando precedente che è 'kubectl get pods', possiamo ottenere l'elenco di tutti i pod eseguiti nel cluster Kubernetes.

Dopo aver eseguito il comando 'get pods', otteniamo il seguente output:

  Schermata di una descrizione del programma per computer generata automaticamente con scarsa affidabilità

Passaggio 3: ottieni i deployment del pod

Nel precedente comando 'kubectl get pods', otteniamo i dettagli dei pod. Ora usiamo il comando 'get deployment' per ottenere l'elenco dei deployment creati. A tale scopo viene eseguito il seguente script:

~$ kubectl ottiene le distribuzioni

Dopo aver eseguito il comando, la seguente schermata mostra l'output:

Passaggio 4: distribuzione della scalabilità automatica

Il comando autoscale viene utilizzato per effettuare la selezione dell'automazione dei pod eseguiti nel cluster. Distribuendo la scalabilità automatica nel cluster, inseriamo e terminiamo automaticamente il numero di nodi. Il seguente script viene eseguito nel cluster minikube e mostra il nome del file, i pod minimi e i pod massimi dove i pod dovrebbero essere compresi tra 2 e 10:

~$ distribuzione di scalabilità automatica kubectl nginx1-deployment1 --min = 2 --max = 10

Dopo aver eseguito il comando, viene generato il seguente output:

Passaggio 5: crea un file YAML Kubernetes

In questo passaggio imparerai a creare il file YAML nel cluster. Il file YAML è utile per la distribuzione e il test dell'applicazione. Esistono vari tipi in Kubernetes per creare e modificare il file.

In questo articolo, utilizziamo il comando 'nano' per creare il file YAML perché è il modo più semplice e la scelta migliore per i principianti.

Segui i passaggi indicati qui per creare un file YAML utilizzando nano:

  • Per creare un nuovo file o modificarne uno esistente, accedere alla posizione della directory desiderata.
  • Digita 'nano'. Successivamente, scrivi il nome del file. Ad esempio, se desideri creare un nuovo nome file, annota il nome 'deploo.yaml'.

Esegui il seguente script e crea un file YAML nella directory del progetto:

~$ nanodeploo.yaml

Dopo aver creato il file 'deploo.yaml', il passaggio successivo è configurare il file YAML. Lo spieghiamo nel passaggio successivo.

Passaggio 6: contenuto del file YAML

In questo passaggio, possiamo facilmente configurare il server Apache e i file PHP. Prima di utilizzare HorizontalPodScaler, dobbiamo configurare il monitor del carico di lavoro. Poiché la seguente parte di codice mostra il kind:deployment, la porta del browser Web è 90 e il limite della CPU è 200 m.

Puoi vedere le informazioni complete sul file 'deploo.yaml' qui:

apiVersion : applicazioni/v1
Tipo
: Distribuzione
metadati
:
nome
: php
spec
:
selettore
:
matchLabels
:
correre
: php-apache
modello
:
metadati
:
etichette
:
correre
: php-apache
spec
:
contenitori
:
- nome
: php
Immagine
: registry.k8s.io/hpa-example
porti
:
- containerPort
: 90
risorse
:
limiti
:
processore
: 200 m
richieste
:

processore
: 100 m
---
apiVersion
: v1
Tipo
: Servizio
metadati
:
nome
: php
etichette
:
correre
: php-apache
spec
:
porti
:
- porto
: 70
selettore
:
correre
: php-apache

Passaggio 7: creare la distribuzione

In questo passaggio, creiamo il file YAML denominato 'deploo.yaml'. Il seguente script viene eseguito nel cluster minikube:

~$ kubectl create -f deploo.yaml

L'output del suddetto comando che abbiamo eseguito può essere visto nello screenshot che segue. L'output indica che il file YAML è stato creato:

Passaggio 8: creare HorizontalPodScaler

In questo passaggio, ti mostreremo il comando per creare HorizontalPodAutoscaler. Le cialde vengono inserite e terminate automaticamente a seconda della richiesta. È diverso dal ridimensionamento verticale, per cui le risorse della CPU e della memoria vengono assegnate tramite il ridimensionamento automatico. Il seguente script viene eseguito nel cluster minikube:

~$ distribuzione di scalabilità automatica kubectl php -- processore - per cento = cinquanta -- min = 10 –max = venti

Qui puoi vedere che impostiamo i valori minimo e massimo a 10 e 20.

In allegato l'output del comando precedente:

Passaggio 9: controlla HorizontalPodScaler

In questo passaggio, controlliamo lo stato attuale di HorizontalPodAutoscaler appena creato. Viene eseguito il seguente comando:

~$ kubectl ottieni hpa

Conclusione

Una delle funzionalità più utili di Kubernetes è il 'kubectl autoscale' che fornisce aggiornamenti automatici delle risorse nel cluster Kubernetes. Autoscaler aiuta quando un cluster deve aumentare o ridurre i pod. In questo articolo, abbiamo appreso i due metodi di scalabilità automatica: uno è l'autoscaler predefinito e l'altro è HorizontalPodScaler.

Innanzitutto, abbiamo distribuito i pod e li abbiamo dichiarati. Quindi, abbiamo creato l'autoscaler e configurato il server Apache per distribuire il monitor del carico di lavoro prima di HorizontalPodScaler. Successivamente, abbiamo creato un file YAML e HorizontalPodScaler. Questo articolo è incentrato sui passaggi dettagliati di creazione, configurazione e distribuzione di Kubernetes con scalabilità automatica.