Come configurare un budget di interruzione del pod in Kubernetes

Come configurare un budget di interruzione del pod in Kubernetes
Ti mostreremo come è possibile configurare un budget per l'interruzione del pod in Kubernetes. Questo articolo è per chiunque voglia imparare a ridurre al minimo le interruzioni vissute da diverse applicazioni in modo che l'amministratore del cluster possa avere il massimo accesso per la gestione dei nodi del cluster. In questa guida, dimostreremo qual è il budget per l'interruzione del pod e come può essere creato e validato per un'applicazione Kubernetes.

Cos'è un budget di interruzione del baccello di Kubernetes (PDB)?

In Kubernetes, quando qualcosa crea un'interruzione nel funzionamento di un baccello, l'interruzione è considerata un'interruzione. L'interruzione potrebbe essere di qualsiasi tipo come l'utilizzo accidentale del comando "Kubectl elimina" invece del comando "kubectl get" o un nodo che richiede il riavvio a causa di un crash di sistema, ecc. Tuttavia, possono verificarsi anche interruzioni volontarie nel caso in cui l'interruzione sia causata da un operatore come un nodo drenato o la distribuzione viene eliminata.

Quando il baccello di un'applicazione deve essere riprogrammato per un motivo specifico come la manutenzione di routine, un aggiornamento o qualsiasi altra cosa, l'applicazione deve affrontare molte interruzioni lungo il processo di riprogrammazione. Il budget di interruzione del pod (PDB) è un metodo in Kubernetes che viene utilizzato per limitare tali interruzioni in modo che un'applicazione possa eseguire senza problemi il processo di riprogrammazione. Il PDB consente al proprietario dell'applicazione di impostare i requisiti per la distribuzione in modo che l'applicazione venga meno interrotta da qualsiasi tipo di interruzione. In altre parole, PDB consente al proprietario dell'applicazione di specificare i requisiti operativi che possono essere tollerati da una distribuzione in modo che possa rimanere stabile quando si verifica un'interruzione.

Impariamo come configurare un budget di interruzione del pod per un'applicazione Kubernetes con l'aiuto della seguente guida passo-passo.

Prerequisiti:

Prima di iniziare, assicurati che il tuo sistema soddisfi tutti i prerequisiti necessari. Devi avere ubuntu 20.02 o qualsiasi altra ultima versione installata nel tuo sistema. Inoltre, è necessario disporre di una macchina virtuale abilitata in modo da poter utilizzare il terminale Kubernetes. Inoltre, devi essere il proprietario dell'applicazione Kubernetes che funziona sul cluster Kubernetes. L'ultima cosa di cui hai bisogno è assicurarti che il cluster Kubernetes consente di impostare il budget per l'interruzione del pod.

Ora, configuriamo il budget per l'interruzione del pod in Kubernetes. Seguire i seguenti passaggi per la configurazione:

Passaggio 1: avvia i kubernetes

Quando devi lavorare con Kubernetes, il primo passo è avviare i Kubernetes in modo da poter avere un accesso completo alla macchina virtuale di Ubuntu. Il minikube è un ambiente Kubernetes o, in parole semplici, è un terminale di dashboard che viene utilizzato per eseguire le app e i comandi. Per avviare il minikube, il comando "start" viene utilizzato come segue:

> Minikube Start

Immettere questo comando sul terminale Kubernetes e premere Invio. Nell'esecuzione del comando, otterrai la seguente risposta:

Una volta che hai il terminale Kubernetes attivo e funzionante correttamente, devi decidere come la tua applicazione Kubernetes dovrebbe reagire alle interruzioni. Le due cose principali che devi specificare sono il limite di parametro minimo disponibile e il limite di parametro non disponibile massimo. Il parametro minailabile specifica quanti pod dovrebbero essere sempre disponibili anche se si verifica un'interruzione. Il parametro Maxunavailable specifica quanti pod possono non essere disponibili alla volta in caso di interruzione. Il valore per Minavailable e MaxUNavailable può essere impostato come intero o può essere una percentuale. Ora, vediamo come creare un oggetto PDB come file YAML utilizzando i parametri Minavailable e Maxunavailabilible.

Passaggio 2: creare un file YAML per la definizione del budget per interruzione del pod

Ora che la nostra dashboard di Kubernetes è attiva e funzionante, come si vede nella schermata precedente, siamo pronti per iniziare la configurazione del budget di interruzione del pod (PDB) per un'applicazione Kubernetes. Per aprire o creare un nuovo file, Kubernetes fornisce un comando "nano". Qui, creeremo un file YAML per la definizione del budget di interruzione del pod (PDB) utilizzando il seguente comando:

> nano pdbmin.Yaml

Il "nano" è il comando kubernetes che crea un file. Il "pdbmin" è il nome del file specificato dall'utente. E ".Yaml ”è l'estensione del file che sta per essere creata. Scrivi questo comando sul terminale Kubernetes e premi Invio dalla tastiera.

Qui, utilizziamo il parametro Minavailable per impostare i requisiti operativi tollerabili del PDB. Come puoi vedere nella seguente screenshot, il valore del parametro minailabile è 2, il che significa che 2 pod devono essere sempre disponibili anche se l'interruzione si verifica all'applicazione.

Creiamo un'altra definizione PDB come file YAML utilizzando il parametro MaxUNavailable. Usa lo stesso comando "nano" per creare la definizione PDB come file yaml:

> nano pdmax.Yaml

Come puoi vedere nella seguente screenshot, il valore per il parametro MAXUNAVILABILE è 1, il che significa che solo 1 pod può non essere disponibile in caso di interruzione.

Passaggio 3: crea un oggetto PDB (PDB) di budget di interruzione pod

Il prossimo passo è creare l'oggetto del PDB dalle definizioni YAML precedentemente create. Utilizzare l'istruzione "KubeCtl Applica" per creare l'oggetto PDB:

> kubectl appliche -f pdmax.Yaml

Come puoi vedere nell'output, l'oggetto è stato creato correttamente.

Passaggio 4: controllare lo stato dell'oggetto del budget di interruzione del pod (PDB)

Ora, verifichiamo lo stato dell'oggetto PDB recentemente creato. Utilizzare l'istruzione "Kubectl Get" per verificare lo stato dell'oggetto PDB. Immettere il comando "Kubectl Get" sul terminale e vedere lo stato dell'oggetto PDB:

> Kubectl Ottieni poddisruptionBudgets

Ricorda che abbiamo impostato il valore maxunavailabili su 1, che è mostrato nell'output precedente.

Se si desidera vedere lo stato dettagliato dell'oggetto PDB (PDB), puoi utilizzare il comando "Kubectl Get" come segue:

> Kubectl Get PoddisruptionBudgets zk -pdb -o yaml

Conclusione

Questo articolo ha presentato come creare una definizione di budget di distribuzione POD (PDB) utilizzando i parametri Minavailabilible e Maxunavailable per l'applicazione Kubernetes. Abbiamo quindi imparato come creare l'oggetto PDB dalle definizioni YAML definite e controllare lo stato dell'oggetto creato usando il comando kubectl. Seguendo i passaggi dati, imparerai a creare e configurare gli oggetti PDB e convalidare se l'oggetto funziona correttamente.