Kubernetes Port Forwarding

Kubernetes Port Forwarding

In questo articolo, daremo un'occhiata alle basi di Port Forwarding e come può essere utilizzato insieme a Kubernetes. Puoi imparare tutto sull'inoltro delle porte e su come lo usa Kubernetes. Qui, puoi vedere tutte le informazioni e le schermate di comandi che sono state eseguite. Cominciamo prima con la definizione di port forwarding.

Cos'è il port forwarding?

L'inoltro di porta è definito come una tecnica di networking che consente ai computer di comunicare tra loro, ma questi computer dovrebbero essere sulla stessa rete. L'inoltro delle porte si ottiene creando una mappatura degli indirizzi tra due porte su due nodi diversi nella stessa rete. Ciò consente a un computer di inviare i dati da un nodo a un altro pur mantenendo il traffico sicuro. Per comprendere meglio il porto inoltrante, consideriamo un esempio. Se si desidera accedere al tuo server Web di casa dall'esterno della rete locale, è possibile utilizzare la porta in modo che il traffico possa essere instradato attraverso il router e uscire su Internet. Kubernetes utilizza l'inoltro di porta come parte del suo sistema di orchestrazione del contenitore per servizi come HTTP/HTTPS e Connessioni SSH.

Ciò che è inoltraggio nel contesto di Kubernetes?

L'inoltro della porta Kubernetes è un modo per accedere alle risorse del cluster interno dall'esterno del cluster. Gli utenti possono mappare una porta esterna su una porta utilizzata da una risorsa come un pod, distribuzione, set di replica o servizio. In questo modo, la risorsa diventa accessibile dall'interno della rete locale. Kubectl presenta una funzionalità di inoltro di porta integrata.

Prerequisiti:

Kubernetes Port Forwarding è una parte essenziale di qualsiasi distribuzione di Kubernetes. Consente agli utenti di accedere ai servizi che vengono eseguiti all'interno di un cluster Kubernetes dall'esterno dell'ambiente Kubernetes. Questo processo richiede che alcuni prerequisiti abbiano successo.

Prima di tentare l'inoltro della porta Kubernetes, gli utenti devono prima avere una conoscenza pratica di come funzionano i contenitori e di come interagiscono con gli altri componenti di un sistema. Dovrebbero anche avere un'esperienza su come configurare il networking su sistemi operativi basati su Linux, oltre a comprendere i vari protocolli e porte di rete che vengono utilizzati per la comunicazione tra componenti diversi. Inoltre, comprendere le differenze tra i tipi di servizio disponibili nell'ambiente Kubernetes come bilanciatori di carico, controller di ingresso e servizi Nodeport è utile quando si imposta il port forwarding.

Passaggi per impostare il port forwarding

L'inoltro di porte è un aspetto importante di Kubernetes, che consente agli utenti di inviare in modo sicuro i dati da un computer a un altro. L'impostazione del port forwarding può sembrare complicato, ma diversi semplici passaggi lo rendono semplice. Questa sezione discute i passaggi necessari per impostare il port forwarding in Kubernetes. Puoi iniziare subito.

Passaggio 1: avvia il minikube

Il nostro primo passo è l'avvio di Kubernetes. Eseguiamo il seguente comando per avviare la dashboard di Kubernetes:

> Minikube Start



Dopo essere stato eseguito, questo comando dimostra che l'applicazione Kubernetes è in esecuzione in un contenitore locale con un cluster di minikube. Devi prima fare questo passo necessario.

Passaggio 2: creare una distribuzione

In questo passaggio successivo, creiamo una distribuzione che esegue il MongoDB. Questo viene fatto con il seguente comando:

> kubectl appliche -f https: // k8s.IO/Esempi/Applicazione/MongoDB/Mongo-Deployment.Yaml



È possibile vedere l'output proprio sotto il comando precedentemente eseguito.

Passaggio 3: controllare lo stato del pod

Ora, controlliamo lo stato del pod con il comando allegato qui:

> kubectl ottieni baccelli



Nell'output, puoi vedere il pod creato nella quarta riga con il nome "Mongo-78C7D87875-SL5G6".

Passaggio 4: consultare lo stato di distribuzione

In questo passaggio, visualizziamo lo stato della distribuzione con il seguente comando fornito:

> Kubectl ottieni l'implementazione



L'output mostra la creazione di successo della distribuzione.

Passaggio 5: visualizzare lo stato della replicAset

Una replicAset viene automaticamente gestita dalla distribuzione. Utilizzare il seguente comando per visualizzare lo stato di replicAset:

> Kubectl Ottieni replicAset



L'output indica la creazione di successo della replicaset.

Passaggio 6: creare un servizio per MongoDB

Qui, costruiamo un servizio accessibile alla rete per MongoDB. Questo viene fatto con il seguente comando dato:

> kubectl appliche -f https: // krs.IO/Esempi/Applicazione/MongoDB/Mongo-Service.Yaml



L'output di un comando di successo conferma che il servizio è stabilito.

Passaggio 7: controlla il servizio

In questo passaggio, controlliamo il servizio creato con il seguente comando dato:

> Kubectl Ottieni servizio Mongo



L'output mostra che il servizio viene creato correttamente.

Passaggio 8: verificare se il server è attivo

Con il seguente comando, possiamo confermare che il server MongoDB è attivo nel pod e sta ascoltando sulla porta 27017:

> kubectl Get pod Mongo-75f59d57f4-4nd6q ---template = '(indice (indice .spec.Contenitori 0).Porte 0).Containerport "\ n" '



La porta TCP assegnata a MongoDB su Internet è 27017. Può essere visto nell'output fornito.

Passaggio 9: inoltro di un porto locale

In questo passaggio, vediamo come puoi inoltrare una porta locale a una porta sul pod. Per raggiungere questo obiettivo, viene utilizzato il comando "kubectl port-forward".

> Kubectl Port-Forward Mongo-78C7D87875-SL5G6 28015: 27017


Verificare la configurazione di port forwarding

Verificare la configurazione di port forwarding è una parte importante del processo di installazione di Kubernetes. Questo articolo spiega come impostare correttamente e convalidare il port forwarding per un progetto che funziona su Kubernetes, garantendo che tutti i servizi siano accessibili in modo previsto.

L'inoltro di porte prevede la creazione dei percorsi di comunicazione di rete tra due gruppi di host: quelli all'interno e all'esterno di una rete privata. Configurando il port forwarding, è possibile accedere ai servizi che si trovano all'interno di una rete privata dall'esterno, oltre a consentire agli utenti di accedere ai servizi ospitati nel tuo ambiente cloud pubblico da qualsiasi luogo. Questo può essere fatto mappando le porte specifiche con indirizzi IP e protocolli specifici, consentendo al traffico di passare in modo sicuro. Con Kubernetes, è necessario assicurarsi che le porte corrette siano configurate correttamente prima di tentare di verificare la loro funzionalità.

Quali sono i vantaggi dell'inoltro di porte?

L'inoltro di porta è un passo importante nell'uso di Kubernetes per gestire le applicazioni containerizzate. Comprendendo e implementando il port forwarding, gli utenti possono sfruttare i numerosi vantaggi derivanti dalla capacità di Kubernetes di gestire le risorse in modo efficace.

    • Il port forwarding funziona consentendo ai contenitori che eseguono su un nodo per comunicare tra loro o con servizi esterni, rendendo più facile per gli utenti accedere a tali servizi esternamente.
    • Port Forwarding offre diversi vantaggi chiave se utilizzati in combinazione con Kubernetes. Innanzitutto, semplifica le comunicazioni esterne esponendo solo determinati servizi lasciando nascosti le altre porte. Ciò migliora la sicurezza e riduce il rischio di attacchi dannosi impedendo agli aggressori di accedere alle porte limitate.
    • Inoltre, l'inoltro delle porte può aiutare a bilanciare il traffico su più nodi che possono migliorare le prestazioni e la scalabilità poiché viene aggiunto un maggiore carico al sistema.

Potenziali sfide con il port forwarding di Kubernetes

Kubernetes Port Forwarding è uno strumento importante per sviluppare e gestire le applicazioni. Tuttavia, è importante comprendere le potenziali sfide che possono sorgere con il port forwarding di Kubernetes. Comprendere queste sfide può aiutarti a determinare se questo processo è giusto per le esigenze di sviluppo dell'applicazione.

    • Uno dei problemi più comuni con l'inoltro delle porte di Kubernetes sono le vulnerabilità di sicurezza. È importante proteggere qualsiasi porte aperta dal framework Kubernetes per proteggere l'applicazione dagli aggressori.
    • Inoltre, dovresti essere a conoscenza di potenziali problemi di networking come configurazioni NAT o firewall che potrebbero bloccare il traffico e impedire l'accesso all'applicazione.
    • Infine, l'esaurimento delle risorse può anche essere un problema quando si utilizza l'inoltro della porta Kubernetes poiché ogni nuova connessione richiede risorse aggiuntive dalla macchina host. Per evitare questo problema, assicurati di monitorare attentamente l'utilizzo e di regolare le impostazioni di conseguenza se necessario.

Conclusione

Kubernetes Port Forwarding è un modo conveniente ed efficiente per accedere alle applicazioni che eseguono i cluster Kubernetes. Come visto nei passaggi discussi, è importante avere una comprensione di base di come funziona il port forwarding prima di tentare di usarlo. Questo articolo ha delineato le fasi necessarie per l'impostazione dell'inoltro della porta in un cluster di Kubernetes. Seguendo le linee guida fornite, gli utenti dovrebbero essere in grado di impostare e configurare facilmente l'inoltro della porta e iniziare ad accedere alle loro applicazioni con facilità. Inoltre, l'uso di questo metodo può aiutare a ridurre la complessità quando si lavora con più pod o servizi che funzionano su porte diverse.