Esporre il servizio Kubernetes a un indirizzo IP esterno

Esporre il servizio Kubernetes a un indirizzo IP esterno
In questa guida, dobbiamo imparare come esporre il servizio Kubernetes a un indirizzo IP esterno. Esistono tre modi diversi per esporre un servizio Kubernetes a un indirizzo IP esterno: clusterip, nodeport e loadbalancer. In questa guida, impareremo come esporre il servizio Kubernetes a un indirizzo IP esterno utilizzando il metodo LoadBalancer.

Prerequisiti:

Sono necessari i seguenti strumenti installati e correttamente configurati nel sistema prima di iniziare in avanti:

  • Strumento di riga di comando kubectl
  • Cluster Kubernetes
  • Cluster Minikube
  • Ubuntu 22.04 o un'altra versione successiva installata
  • Providei cloud come Amazon Web Services, ecc

Una volta installati questi strumenti, sei pronto per esporre un servizio Kubernetes a un indirizzo IP esterno.

Come posso rendere un servizio Kubernetes accessibile a indirizzi IP esterni?

Ecco una guida passo-passo per esporre un servizio Kubernetes a un indirizzo IP esterno.

Passaggio n. 1: avvia minikube

Cominciamo con l'avvio del cluster minikube. È importante avviare il cluster minikube ogni volta che è necessario configurare qualcosa o eseguire le tue applicazioni nel tuo ambiente Kubernetes. L'avvio del cluster minikube garantisce correttamente che il cluster minikube sia attivo e in esecuzione e pronto per eseguire l'applicazione. Pertanto, basta utilizzare il comando mostrato di seguito per avviare il cluster minikube:

kalsoom@kalsoom-virtualbox> avvia minikube

Passaggio n. 2: crea una distribuzione

In questa guida, stiamo esponendo il servizio Kubernetes a un indirizzo IP esterno utilizzando una distribuzione. Abbiamo la configurazione definita nell'examample-balancer carico.file yaml che useremo per creare una distribuzione nel cluster. Per creare la distribuzione, eseguiremo il seguente comando:

kalsoom@kalsoom -virtualbox> kubectl applica -f https: // k8s.IO/Esempi/Servizio/Caricatore di carico-Esempio.Yaml

Come mostrato, è stato generato una distribuzione intitolata Hello-World.

Passaggio n. 3: verificare la distribuzione

Ora, controlliamo quale tipo di distribuzione è stata creata e i dettagli associati. Per verificare la distribuzione, verrà utilizzato il comando indicato di seguito:

kalsoom@kalsoom-virtualbox> kubectl ottieni distribuzioni hello-world

Questo comando visualizzerà i dettagli della distribuzione, consultare l'output di seguito:

Come mostrato, Hello-World di distribuzione è stato creato con un set di replica contenente cinque baccelli. Ognuno dei cinque pod eseguirà l'applicazione Hello-World. Tuttavia, questo comando ha mostrato un breve dettaglio della distribuzione, se si desidera controllare maggiori dettagli sulla distribuzione, è possibile utilizzare il seguente comando:

kalsoom@kalsoom-virtualbox> kubectl Descrivi le distribuzioni Hello-World

Il comando "Kubectl Descrive" fornisce una descrizione in dettaglio della distribuzione che ti aiuta a sapere di più sulla distribuzione. Fare riferimento all'output indicato di seguito per ottenere una descrizione dettagliata della distribuzione:

Passaggio n. 4: verificare gli oggetti ReplicAset

Come sappiamo, la distribuzione è stata creata con un oggetto ReplicAset. Quindi, controlliamo i dettagli di quegli oggetti. Per ispezionare i dettagli della replicAset, possiamo utilizzare i comandi elencati di seguito:

kalsoom@kalsoom-virtualbox> kubectl ottieni replicaset

Come mostrato, i dettagli delle repliche includono: nome, desiderato, corrente, pronto ed età. Se si desidera saperne di più sulle repliche della distribuzione, è possibile utilizzare il seguente comando:

kalsoom@kalsoom-virtualbox> kubectl Descrivi le repliche

Questo comando ti darà i dettagli approfonditi delle repliche associate alla distribuzione di Hello-World, consultare l'output indicato nello screenshot seguente:

Passaggio n. 5: crea un oggetto di servizio per esporre la distribuzione

Ora, esponiamo la distribuzione utilizzando un oggetto di servizio. Dato che stiamo esponendo il servizio Kubernetes a un IP esterno utilizzando una distribuzione, avremo bisogno di un oggetto di servizio per esporre la distribuzione.

kalsoom@kalsoom-virtualbox> kubectl esponi la distribuzione ciao-world --type = loadbalancer --name = my-service

Come puoi vedere, ci sono due flag usate con il comando, -type = loadbalancer e -name = my -service. La prima flag determina il tipo di bilanciamento e la seconda flag determina il nome dell'oggetto di servizio. Ora, facciamo riferimento all'output indicato di seguito:

Come puoi vedere nell'output sopra indicato, un oggetto di servizio chiamato My-Service è stato esposto con successo.

Passaggio n. 6: ottieni i dettagli dell'oggetto di servizio

Il prossimo passo è vedere i dettagli dell'oggetto di servizio che abbiamo creato in precedenza. Possiamo utilizzare il comando indicato di seguito per ottenere i dettagli dell'oggetto di servizio:

kalsoom@kalsoom-virtualbox> kubectl ottieni servizio il mio servizio

Il comando "Kubectl Get" viene utilizzato per accedere al cluster, al baccello, al nodo o qualsiasi cosa nell'ambiente Kubernetes. Stiamo cercando di ottenere i dettagli dell'oggetto di servizio. Quindi, abbiamo fornito il flag "Servizi" seguito dal nome dell'oggetto di servizio My-Service. Vedi l'output di seguito:

Ancora una volta, se hai bisogno di saperne di più sull'oggetto di servizio, puoi sempre usare il comando "Kubectl Descrive". Il comando completo è riportato di seguito per il tuo riferimento:

kalsoom@kalsoom-virtualbox> kubectl Descrivi i servizi my-service

Dopo aver eseguito questo comando, si ottiene un output simile a quello indicato di seguito:

Dall'output sopra, è possibile notare che l'indirizzo IP è 10.110.159.180. La porta utilizzata è 8080 e Nodeport è 30215, mentre non ci sono endpoint e l'indirizzo IP appartiene alla famiglia IPv4.

Passaggio n. 7: controlla l'indirizzo del pod

Ora che conosciamo i dettagli dell'oggetto di servizio, possiamo controllare l'indirizzo dei pod su cui stanno attualmente eseguendo l'applicazione Hello-World. Il comando descritto di seguito rende semplice il raggiungimento di questo:

kalsoom@kalsoom -virtualbox> kubectl ottieni baccelli -output = wide

Questo comando ci mostrerà l'indirizzo dei pod che eseguono l'applicazione Hello-World, consultare l'output indicato nell'istantanea di seguito:

Quindi, questo è come esporre i servizi Kubernetes a un indirizzo IP esterno.

Passaggio n. 8: pulisci

Dopo aver esposto correttamente i servizi Kubernetes a un indirizzo IP esterno, assicurarsi di eliminare l'oggetto di servizio insieme alla distribuzione. Questo può essere fatto con il seguente comando:

kalsoom@kalsoom-virtualbox> kubectl elimina servizi my-service

Con questo comando, l'oggetto di servizio verrà rimosso dal cluster:

Ora, per eliminare la distribuzione completa, inclusi i pod e le repliche, utilizzare il comando seguente:

kalsoom@kalsoom-virtualbox> kubectl elimina distribuzione ciao world

Conclusione

In questa guida, abbiamo imparato come esporre i servizi Kubernetes su un indirizzo IP esterno. Con l'aiuto di una guida passo-passo, abbiamo esposto un servizio Kubernetes a un indirizzo IP esterno utilizzando una distribuzione. Dopo aver esposto il servizio Kubernetes a un indirizzo IP esterno, abbiamo anche eseguito un processo di pulizia adeguato.