Cos'è il comando patch kubectl

Cos'è il comando patch kubectl
Kubernetes offre vari metodi per aggiornare le risorse: modifica, applicare, patch e sostituire. Quindi, oggi il nostro argomento di discussione è Kubectl Patch o Patch Command. Se si comunica con i cluster di Kubernetes tramite Kubectl CLI, potresti avere familiarità con la modifica o applicare i sottocomando. Proprio come questi due comandi, abbiamo meno familiarità con il comando patch di kubectl. Il comando patch consente di modificare parte di una specifica delle risorse, specificando la parte modificata su CLI. Durante l'aggiornamento di una risorsa, è bene patcharla. Esistono tre tipi di patch, io.e., Strategic, JSON Merge Patch e JSON Patch.

Il tipo di merge strategico cerca di "fare la cosa accurata" quando si uniscono le specifiche indicate con le specifiche attuali. Più esplicitamente, cerca di unire sia array che oggetti. Ad esempio, specificando una patch che contiene una variabile singola o nuova in una specifica del contenitore POD risulta in quella variabile inclusa nelle variabili correnti, non sovrascrivendole. Cancellare un elemento di array tramite una patch di unione strategica è più difficile, il che richiede l'utilizzo degli ordini di unione.

Come l'approccio strategico, il metodo della patch di Merge JSON prende una specifica parziale Kubernetes come input e contiene gli oggetti unito. In questo modo è abbastanza diverso dall'approccio sopra citato in quanto supporta solo la sostituzione di array. Durante l'utilizzo di questo approccio, è necessario trasmettere in streaming le specifiche complete per tutti i contenitori; Se è necessario modificare qualsiasi proprietà contenitore nella CLI, è possibile scegliere la patch di unione JSON tramite Kubectl Patch.

D'altra parte, il metodo della patch JSON utilizza un'illustrazione JSON delle variazioni che si desidera fare a una risorsa. La patch JSON è un modo più robusto ed efficiente per dichiarare le modifiche che si desidera apportare.

Prerequisiti

Abbiamo bisogno di un cluster Kubernetes o di una configurazione CLI Kubectl per interagire con il cluster. Se non hai un cluster, allora devi generarne uno con l'aiuto di Minikube. Mentre lavoriamo con i comandi patch in Kubernetes, dobbiamo installare il cluster Minikube sul tuo sistema per eseguire Kubernetes in Linux.

Comando patch kubectl

Vieni, illustriamo il funzionamento dei comandi patch con l'aiuto dei comandi o delle istruzioni Kubectl.

Dalla barra di ricerca dell'app, scrivere "Terminal" o premere contemporaneamente i tastie di tastiera "Ctrl+Alt+T". Ora scrivi il comando "Minikube Start" nel terminale e aspetta un po 'fino a quando non inizia correttamente.

$ Minikube inizi

Mentre lavoriamo con i comandi patch, dobbiamo prima generare una distribuzione in Kubernetes. A tale scopo, utilizziamo la distribuzione touch.comando yaml per creare un file in ubuntu 20.04 e la parola chiave touch viene utilizzata per generare un file.

$ touch deployment1.Yaml

Salva ed esegui il file di comando kubectl. Visualizzerai quindi il file creato correttamente.

Il file di configurazione della distribuzione di seguito è riportato ha due copie o repliche e ogni copia è un pod che contiene un contenitore.

Per creare la distribuzione, utilizziamo "Applica -f" con il nome del file per creare correttamente la distribuzione.

$ kubectl applicare -f deployment1.Yaml

Per visualizzare le informazioni o controllare i pod collegati alla distribuzione, utilizziamo il comando Get Pods proprio come abbiamo fatto nello screenshot seguente:

Dopo aver eseguito il comando sopra, visualizzerai il nome, pronto, lo stato, il riavvio e l'età di tutti i pod che eseguono il PC.

Tieni presente che il nome specifica i pod attualmente in esecuzione. Dopo qualche minuto, vedrai quindi che questi baccelli vengano finiti e scambiati da nuovi.

$ kubectl ottieni baccelli

In questa fase, ogni pod contiene un contenitore che esegue l'immagine NGINX. Ora, se desideri che ogni pod possieda due contenitori: uno che esegue Nginx e uno che esegue Redis. Per il nostro comando di seguito, genera un file patch.

$ touch patchfile.Yaml

Dopo aver eseguito questo comando, è quindi possibile visualizzare il patchfile con ".estensione Yaml ".

Dopo aver salvato e aperto il file, è possibile visualizzare che il tuo "patchfile" contiene il contenuto desiderato.

Ora il nostro prossimo obiettivo è patchat la distribuzione. Quindi, il comando seguente è molto utile per la patch di distribuzione.

Per visualizzare la distribuzione patched, dovrai eseguire il comando seguente. Il risultato mostra che il PODSPEC nella distribuzione contiene due contenitori:

Il comando seguente mostra se i pod sono collegati alla distribuzione patch o meno. In questo output, i pod attualmente in esecuzione hanno cambiato i nomi dai pod che stavano eseguendo in precedenza. La distribuzione ha terminato i POD precedenti e creato altri due nuovi pod conformi alle specifiche di distribuzione aggiornate.

$ kubectl ottieni baccelli

Conclusione:

Quindi qui in questo articolo, abbiamo elaborato il concetto di comando patch in kubernetes. Abbiamo usato la patch Kubectl per modificare la configurazione dell'oggetto di distribuzione live. Spero che tu possa ora arrestare l'intero concetto della patch in Kubernetes.