Configura HPA in Kubernetes

Configura HPA in Kubernetes
In questo articolo, discuteremo della configurazione dell'autoscaling del pod orizzontale in Kubernetes. Questo argomento è molto interessante e informativo in Kubernetes. C'è molta confusione su come i contenitori sono ridimensionati in orizzontale in Kubernetes. In questo editoriale, parleremo di ogni dettaglio gradino con screenshot pertinenti. Se non hai idea di Kubernetes, passa attraverso i nostri articoli precedenti correlati a Kubernetes. HPA è la scala automatica dei baccelli, orizzontalmente. Diamo un'occhiata alle seguenti sezioni per una maggiore comprensione.

Cos'è HPA in Kubernetes?

HPA è l'acronimo di Autoscaler di POD orizzontale in Kubernetes e modifica la struttura del carico di lavoro del traffico di Kubernetes aumentando automaticamente il numero di pod in base alla capacità di utilizzo della CPU. Contrariamente alla modifica delle risorse assegnate a un singolo contenitore, questo ridimensionamento viene eseguito in orizzontale perché influisce sul numero totale di istanze della CPU.

Come funziona HPA in Kubernetes?

Siamo tutti consapevoli che la CPU gestisce i processi. Non appena distribuiamo e impostiamo le repliche, i demoni sono tutti impostati e possiamo aggiungere manualmente più pod al set di distribuzione o replica. Kubernetes fornisce automaticamente POD orizzontale per automatizzare questo processo. HPA è il controller che viene utilizzato per controllare l'utilizzo della CPU attraverso l'automazione. Un'applicazione Kubernetes si ridimensiona automaticamente in base ai carichi di lavoro. Se il numero di traffico diminuisce e l'utilizzo della CPU diminuisce, si ridimensiona. L'applicazione Kubernetes si ridimensiona quando i carichi di lavoro aumentano creando più repliche dell'applicazione Kubernetes.

Prerequisiti:

Di seguito sono necessari per eseguire l'HPA nella tua applicazione Kubernetes:

  • L'ultima versione installata di Ubuntu nel tuo sistema.
  • Se sei un utente di Windows, installa prima la casella virtuale ed esegui praticamente Ubuntu o Linux nel sistema.
  • L'ultima versione installata di Kubernetes nel sistema con la versione 1.23.
  • Devi avere un'idea del cluster Kubernetes e dello strumento riga di comando Kubectl su cui eseguiamo i comandi. Devi conoscere la loro configurazione.

In questo articolo, impareremo ogni dettaglio del passo con esempi utili. Se sei un principiante, questo è il posto giusto per imparare i metodi Kubernetes. Spiegheremo il processo di configurazione HPA in diversi passaggi. Cominciamo!

Passaggio 1: startup container Kubernetes

In questo passaggio, iniziamo con il contenitore Kubernetes che è un minikube. Eseguiamo il seguente comando per avviare il minikube:

> Minikube Start

Minikube inizia dopo l'esecuzione del comando. Minikube ci fornisce un contenitore Kubernetes locale in cui eseguiamo diverse azioni.

Passaggio 2: eseguire il server Php-Apache nel file YAML

In questo passaggio, creiamo un file di configurazione dopo che un contenitore è stato creato per avviare una distribuzione. Eseguiamo il seguente comando per creare un file YAML:

> nano php.Yaml

Quanto segue è l'esecuzione del comando menzionato nello screenshot allegato.

Il file di configurazione contiene diversi tipi di dati come il nome del file, le specifiche dei contenitori e le specifiche del selettore. Questo contenitore funziona con l'aiuto di "Registro.K8S.Immagine IO/HPA-Example "come possiamo vedere nella seguente screenshot:

Questa è anche la parte del file Yaml:

Passaggio 3: creare una distribuzione e servizi in Kubernetes

In questo passaggio, creiamo una distribuzione e lo dichiariamo come servizio utilizzando lo screenshot allegato. Eseguiamo il seguente comando nel terminale:

> kubectl applica -f php.Yaml

Dopo questa esecuzione del comando, viene creato il server di distribuzione PHP-Apache. Insieme a questo, il servizio viene creato correttamente.

Passaggio 4: creare un Autoscaler di pod orizzontale in Kubernetes

In questo passaggio, creiamo un AutoScaler POD orizzontale utilizzando KubeCtl sul server di distribuzione. A tale scopo, eseguiamo il seguente comando:

> Kubectl Distribuzione automatica Php -Apache - -CPU -Percent = 50 -min = 1 -max = 10

Quando eseguiamo questo comando, il Pod Autoscaler orizzontale viene creato correttamente. Nel comando precedente, inizializziamo anche i valori Min e Max. Ciò significa che il Pod Autoscaler orizzontale viene mantenuto tra 1 e 10 repliche del pod. Questo è tutto controllato dal server Php-Apache di distribuzione.

Passaggio 5: selezionare lo stato di Autoscaler del baccello orizzontale in Kubernetes

In questo passaggio, vogliamo ottenere o controllare lo stato di HPA - se un HPA è presente in Kubernetes o no. Eseguiamo il comando allegato per questo scopo:

> kubectl prendi HPA

Come abbiamo visto nello screenshot precedentemente attaccato, un HPA è presente nel nostro contenitore e il suo nome è "PHP-Apache". Il riferimento di questo pod è "distribuzione/php-apache". Gli obiettivi ci mostrano che il consumo di CPU di questo POD è sconosciuto al 50%, il che significa che non viene ricevuta alcuna richiesta del cliente. Il numero minimo di pod è 1 e il numero massimo di baccelli è 10. Le repliche sono "0" e l'età di questo pod è "7s".

Passaggio 6: aumentare un carico di lavoro o un traffico nel server

In questo passaggio, ci connettiamo alla distribuzione precedentemente creata per creare un pod e controllare l'HPA nell'ambiente reale per vedere se l'HPA può gestire le risorse o no. Aumentiamo anche il carico sul cluster eseguendo il comando successivo seguente:

> kubectl run -i -tty carico -generatore -rm -image = busybox: 1.28 -Restart = mai - /bin /sh -c “While sleep 0.01; do wget -q -o- http: // php -apache; Fatto"

Passaggio 7: guarda l'HPA dopo l'esecuzione

Possiamo facilmente guardare l'elenco di HPA eseguendo il seguente comando:

> Kubectl Ottieni HPA PHP-Apache-Watch

Dopo aver eseguito il comando precedentemente menzionato, il risultato appare lo stesso del passaggio 6 di questo articolo.

Passaggio 8: mostra la distribuzione di Kubernetes

In questo passaggio, prendiamo l'elenco delle distribuzioni di Kubernetes semplicemente eseguendo il seguente comando:

> kubectl ottieni la distribuzione PHP-Apache

Passaggio 9: creare più repliche

In questo passaggio, creiamo la replica dello stesso pod in Kubernetes con lo stesso comando:

> Kubectl Ottieni HPA PHP -Apache -Watch

Questo comando osserva il dettaglio del pod dopo l'esecuzione. Possiamo vedere questo dettaglio del pod nello screenshot precedentemente menzionato.

Passaggio 10: arruola nuovamente la distribuzione

In questo passaggio, eseguiamo lo stesso comando per mostrare la distribuzione. Il comando è il seguente:

> kubectl ottieni la distribuzione PHP-Apache

Conclusione

Questo articolo parla di HPA. HPA fornisce una struttura per l'automazione correlata all'utilizzo della CPU. Abbiamo imparato ogni dettaglio passo-in per la configurazione HPA. Speriamo che capirai anche il funzionamento dell'HPA e puoi fare questa pratica nel tuo ambiente.