ProHoster > blog > amministrazione > Come aprire un tunnel in un pod o container Kubernetes con tcpserver e netcat
Come aprire un tunnel in un pod o container Kubernetes con tcpserver e netcat
Nota. trad.: Questa nota pratica del creatore di LayerCI è un'eccellente illustrazione dei cosiddetti suggerimenti e trucchi per Kubernetes (e altro). La soluzione qui proposta è solo una delle poche e, forse, non la più ovvia (in alcuni casi potrebbe essere adatta quella “nativa” per K8 già menzionata nei commenti) kubectl port-forward). Tuttavia, ti consente almeno di guardare il problema dal punto di vista dell'utilizzo delle utilità classiche e della loro ulteriore combinazione - allo stesso tempo semplice, flessibile e potente (vedi "altre idee" alla fine per l'ispirazione).
Immagina una situazione tipica: vuoi che una porta sul tuo computer locale inoltri magicamente il traffico a un pod/container (o viceversa).
Possibili casi d'uso
Controlla cosa restituisce l'endpoint HTTP /healthz pod nel cluster produttivo.
Connetti un debugger TCP al pod sulla macchina locale.
Ottieni l'accesso al database di produzione dagli strumenti del database locale senza doverti preoccupare dell'autenticazione (di solito localhost ha i diritti di root).
Esegui uno script di migrazione una tantum per i dati in un cluster di staging senza dover creare un contenitore per esso.
Connetti una sessione VNC a un pod che esegue un desktop virtuale (vedi XVFB).
Qualche parola sugli strumenti necessari
Tcpserver — Un'utilità Open Source disponibile nella maggior parte dei repository di pacchetti Linux. Ti consente di aprire una porta locale e reindirizzare il traffico ricevuto tramite stdin/stdout da qualsiasi comando specificato ad essa: