Cos'è un servizio senza testa a Kubernetes?
In Kubernetes, viene creato un servizio senza testa senza l'uso di un indirizzo IP del cluster. In alcuni casi, non abbiamo bisogno di un singolo servizio IP per il cluster, quindi abbiamo usato il servizio senza testa di Kubernetes. In questa configurazione senza testa, il servizio può ancora essere utilizzato per mantenere l'identità di rete e DNS per una raccolta di pod anche quando non è possibile accedere tramite il cluster IP. Abbiamo usato principalmente senza testa quando era richiesto l'accesso individuale del pod senza l'uso di un proxy. Non possiamo usare un bilanciamento del carico qui perché non possiamo recuperare gli indirizzi IP. Questo servizio viene spesso utilizzato per applicazioni statali, come i database, dove è fondamentale avere un'identità di rete coerente per ogni iterazione.
Prerequisiti
L'utente deve avere la versione più recente di Ubuntu installata sul proprio sistema e comprendere quale comando viene utilizzato per avviare tutti i processi. L'utente deve avere familiarità con Kubernetes, cluster, pod e la riga di comando Kubectl, oltre a averli installati sul sistema. Per gli utenti di Windows, Virtual Box o VMware fornisce la funzione di utilizzare un altro sistema operativo contemporaneamente. Per gli utenti di Windows, è necessario installare la scatola virtuale e Ubuntu o Linux devono essere eseguiti in modo efficiente. Dopo aver installato tutti i pacchetti come Kubernetes nell'applicazione, installa un minikube nell'applicazione e quindi ci spostiamo verso la descrizione del servizio senza testa, che ci siamo divisi in diversi passaggi con esempi adeguati per la tua comprensione. Quindi, dai un'occhiata al seguente:
Passaggio 1: creare un file di configurazione
Inizialmente, creiamo un file di configurazione in cui spieghiamo tutto sui servizi senza testa in dettaglio. Quindi, eseguiamo il comando sul cluster locale Minikube per il file di configurazione:
> Nano Deplomani.YamlQuando viene eseguito il comando sopra menzionato, il file di configurazione viene aperto con il nome "Deplomani.yaml ". Il file di configurazione per il contenitore è stato creato correttamente, come possiamo vedere nello screenshot allegato.
Passaggio 2: distribuire il file di configurazione in kubernetes
In questo passaggio, impareremo come distribuire il file di configurazione definito nel passaggio precedente in Kubernetes. Eseguiamo il comando per la distribuzione dei file come segue:
> kubectl crea -f deplomani.YamlLa distribuzione viene creata dopo l'esecuzione di questo comando. Il contenitore, o pod, viene creato qui con successo.
Passaggio 3: creare manifest di servizio in kubernetes
In questo passaggio, creiamo un file per avviare un servizio regolare in Kubernetes. Quindi, eseguiamo il comando per creare un manifest per un servizio regolare, che è:
> Nano RegSev. YamlEsegui il comando nel terminale e premi Invio. Quando viene eseguito il comando, il "regSev.Il file Yaml ”viene creato correttamente, come mostrato nello screenshot seguente. Qui, il tipo di pod è il servizio, il nome del pod è un servizio regolare e le porte sono collegate con indirizzi IP.
Passaggio 4: implementazione del normale manifest di servizio
In questo passaggio, distribuiamo il manifest di servizio regolare definito in Kubernetes. Quindi, eseguiamo il comando qui per questo scopo:
> kubectl crea -f regsev.YamlIl servizio viene distribuito e creato correttamente dopo l'esecuzione del comando.
Passaggio 5: creare un manifest di servizio senza testa
In questo passaggio, vogliamo creare un manifest di servizio in cui definiamo i servizi senza testa. Quindi, eseguiamo il comando per creare un file yaml:
> Nano Headsv.YamlImmettere il comando nella riga di comando Kubectl e premere Invio. Quando creiamo un manifest per un servizio senza testa in Kubernetes, possiamo specificare "nessuno" come IP cluster quando si definiscono il servizio nel file manifest.
Passaggio 6: distribuire un servizio senza testa
Questo passaggio prevede la distribuzione di questo file YAML senza testa a Kubernetes. Quindi, eseguiamo il comando qui:
> kubectl crea headsv. YamlSeguendo l'esecuzione del comando, il servizio senza testa del sistema "Headless-SVC" viene creato correttamente. Questo comando crea un servizio senza un cluster IP, ma crea comunque record DNS per i pod che si adattano al selettore in modo che possiamo raggiungerli con i loro nomi DNS.
Passaggio 7: Aggiungi cluster temporaneo in Kubernetes
In questo passaggio, eseguiamo il comando per creare alcuni cluster temporanei impostando la loro immagine nell'applicazione.
> kubectl run temporaneo --image = radial/impegnato boxplus: curl -i --ttyQuando eseguiamo il comando, lo screenshot sopra mostra i cluster temporanei che hanno i loro spazi nell'applicazione di Kubernetes.
Passaggio 8: ottenere il server e l'indirizzo IP del servizio senza testa
In questo passaggio, vogliamo vedere l'indirizzo del server e l'indirizzo IP del servizio senza testa in Kubernetes. Eseguiamo il comando che restituisce un valore come un indirizzo e lo serve dal server DNS. Lo strumento di linea di comando di ricerca viene utilizzato per interrogare i server DNS per informazioni.
> Nslookup Headless-SVCQuesto comando ci ha dato un server e un IP e la ricerca ci ha restituito un nome host di "SVC senza testa."Se il nome host non viene risolto, DNS restituisce un messaggio di errore.
Passaggio 9: Elimina tutti i servizi in esecuzione in Kubernetes
In questo passaggio, interromiamo tutti i servizi in esecuzione perché questi servizi coinvolgono spazio e archiviazione nelle applicazioni Kubernetes. In primo luogo, eliminiamo il servizio regolare da Kubernetes eseguendo il comando:
> Kubectl Elimina il servizio regolare SVCQuando eseguiamo questo comando, il "servizio regolare" viene eliminato correttamente.
Ora eliminiamo il servizio senza testa dal cluster Kubernetes. Eseguiamo il comando Elimina inserendo il nome di servizio senza testa "Headless-SVC" nello strumento di comando Kubectl.
> Kubectl Elimina SVC Headless-SVCQuesto comando termina correttamente il servizio senza testa dal cluster Kubernetes.
Il prossimo passo è la cancellazione delle distribuzioni dopo la cessazione di tutti i servizi dalle applicazioni Kubernetes. Eseguiamo il comando per eliminare la distribuzione dell'applicazione.
> Kubectl Elimina l'app di distribuzioneDi conseguenza, la distribuzione dell'applicazione può essere facilmente eliminata utilizzando un comando.
Infine, abbiamo creato un pod temporaneo nella sessione sopra. Qui, vediamo anche la cancellazione di questi pod temporanei da Kubernetes. Eseguiamo il comando per la cancellazione:
> Kubectl Elimina il pod temporaneoI servizi e i pod Kubernetes sono stati eliminati con successo.
Conclusione
I servizi senza testa sono molto utili per la gestione dei servizi a Kubernetes. I servizi senza testa forniscono cluster US senza IP. Abbiamo anche imparato come abbiamo eliminato i servizi di esecuzione da Kubernetes quando non è necessario per questi servizi. Puoi anche praticare questi esempi nella tua applicazione.