Prerequisiti
Ubuntu 20.02 o qualsiasi altra ultima versione di Ubuntu dovrebbe essere installata nel sistema. Abilita la macchina virtuale sul tuo sistema Ubuntu per eseguire i comandi Kubernetes. Devi avere familiarità con POD, DNS del cluster, StatefulSets e lo strumento di riga di comando Kubectl.
Segui questa guida passo-passo per imparare a creare uno stato in kubernetes:
Passaggio n. 1: avvia la dashboard di Kubernetes
Per eseguire l'applicazione Kubernetes o i comandi sull'applicazione Kubernetes, è necessario avere un terminale in esecuzione Kubernetes. Il "minikube" è il terminale Kubernetes che viene utilizzato per eseguire i vari comandi sulle applicazioni Kubernetes. Usa il comando indicato di seguito per avviare il minikube:
kalsoom@virtualbox> minikube start
Quando si inserisce questo comando sul terminale Kubernetes, premere Invio per eseguirlo. Dopo aver implementato l'istruzione, otterrai il seguente risultato:
Passaggio n. 2: apri/crea un file yaml
Il prossimo passo è aprire un file yaml, se hai già il file creato. Altrimenti, è possibile creare un nuovo file YAML da utilizzare per la creazione di Statefulset. Kubernetes fornisce il comando "nano" per creare o aprire un file nel sistema Kubernetes. Specifica il nome del file con l'estensione del file ed esegui il comando nano su di esso. Vedi il comando indicato di seguito:
kalsoom@virtualbox> nano textweb.Yaml
Quando si esegue questo comando nel terminale Kubernetes, vedrai il seguente file aperto nel terminale Kubernetes:
Passaggio n. 3: creare la configurazione dal file YAML
Il comando "kubectl create" viene utilizzato per creare la configurazione per i servizi. Abbiamo il file YAML e tutte le specifiche per il servizio Statefulset menzionato nel file. Il file verrà utilizzato con il comando "Crea" per creare direttamente la risorsa Kubernetes sul terminale Kubernetes. Vedi il comando indicato di seguito per creare direttamente le risorse Kubernetes:
kalsoom@virtualbox> kubectl create -f testweb.Yaml
Dopo la riuscita esecuzione del comando, vedrai il messaggio "creato" sul terminale. Verranno creati due pod con questo comando e ognuno di essi sarà in esecuzione nel server Web Nginx.
Passaggio n. 4: crea i baccelli di stato
Il prossimo passo è creare i pod per lo stato. Di seguito è riportato il comando utilizzato per creare i pod per Statefulset:
kalsoom@virtualbox> kubectl ottieni pod -w -l app = nginx
Dopo aver eseguito questo comando, vedrai il seguente risultato sul terminale di Kubernetes:
Passaggio #5: ottieni i servizi del Webserver Nginx
Dato che abbiamo creato due pod nel passaggio precedente e ognuno di essi è in esecuzione nel server Nginx, otteniamo i servizi di tali pod dal server Web NGINX. Utilizzare il seguente comando per ottenere i servizi Nginx:
kalsoom@virtualbox> kubectl ottieni servizio nginx
Scrivi questo comando sul terminale Minikube e premere il comando Invio per eseguirlo e vedere il seguente risultato:
Passaggio n. 5: Ottieni Web Statefulset
Il prossimo passo è confermare che entrambi i pod sono stati creati correttamente e che possono essere fatti utilizzando Web Statefulset. Per ottenere Web Statefulset, utilizzare il seguente comando:
kalsoom@virtualbox> kubectl ottieni statefulset web
Scrivi questo comando sul terminale Kubernetes, dopo l'esecuzione otterrai il seguente output:
Passaggio n. 6: crea le repliche ordinate di Statefulset
I baccelli per Statefulset con più repliche sono creati in ordine sequenziale. Ogni pod viene distribuito in un 0 alla sequenza N-1. Configuriamo l'ordine dei baccelli creati nel terminale. Utilizzare il comando "Kubectl Get" per configurare l'ordine. Vedi il comando completo di seguito:
kalsoom@virtualbox> kubectl ottieni pod -w -l app = nginx
Quando si esegue questo comando nel terminale Kubernetes, l'output alla fine sembrerà quello indicato nello snippet di seguito:
Come puoi vedere dall'output, fino a quando il pod Web-0 non è stato eseguito, il pod Web-1 non è stato lanciato.
Passaggio n. 7: esaminare l'indice ordinale dei pod
I pod vengono creati con l'indice ordinale e hanno anche un'identità di rete stabile, esaminiamo l'indice ordinale dei pod di Statofulset con il seguente comando:
kalsoom@virtualbox> kubectl ottieni pod -l app = nginx
Questo comando mostrerà l'identità univoca dei pod basati sull'indice ordinale univoco, che è stato assegnato dal controller Statefulset a ciascun POD. Il nome del pod completo è dato come - e due pod saranno creati per Web Statefulset perché ha due repliche. Ora, vediamo l'output di seguito:
Passaggio n. 8: implementa l'istruzione del nome host in ogni pod
Un nome host costante è stato assegnato a ciascun pod a terra sul suo indice ordinale. Per implementare il nome host assegnato a ciascun pod, possiamo utilizzare il seguente comando:
kalsoom@virtualbox> per i in 0 1; do kubectl exec "web- $ i" -sh -c 'hostname'; Fatto
Questo comando ti mostrerà le due repliche del pod. Vedi l'output indicato nello snippet di seguito:
Passaggio n. 8: esaminare gli indirizzi DNS in cluster
Gli indirizzi DNS in cluster dei pod vengono esaminati utilizzando "nslookup". Il pacchetto "dnsutils" fornisce la funzionalità "nslookup" per eseguire il comando "kubectl run" sul contenitore Statefulset. Il comando completo è riportato di seguito per la tua guida:
kalsoom@virtualbox> kubectl run -i - -ty -image busybox: 1.28 DNS-test--Restart = mai--rm
Questo avvierà una nuova shell in cui è possibile eseguire il contenitore DNS di testo con il seguente comando:
kalsoom@virtualbox> nslookup web-o.nginx
Quando si esegue questo comando, un output simile sarà disponibile sul tuo terminale:
Ora, controlla lo stato dei baccelli statali e quindi esci dalla shell del contenitore. Ancora una volta, usa il comando "Kubectl Get" per vedere i baccelli dello stato.
Passaggio n. 9: Elimina i pod in Statefulset
Il passaggio finale è cancellare tutti i pod nello stato. E per questo, puoi praticare l'istruzione "elimina kubectl". Vedi il comando completo indicato di seguito:
kalsoom@virtualbox> kubectl elimina pod -l app = nginx
Quando si esegue questo comando nel terminale Kubernetes, l'output alla fine sembrerà così:
Conclusione
In questo articolo, abbiamo imparato a creare, aggiornare ed eliminare i pod nello stato di Kubernetes. Abbiamo usato diversi comandi Kubectl per configurare i pod in Statefulset. Il file YAML è stato utilizzato per la definizione dei servizi dei pod e per configurare tali servizi in Statefulset