ProHoster > Blog > Administrasi > Kumaha cara muka torowongan dina pod atanapi wadah Kubernetes nganggo tcpserver sareng netcat
Kumaha cara muka torowongan dina pod atanapi wadah Kubernetes nganggo tcpserver sareng netcat
Catetan. narjamahkeun.: Catetan praktis ieu ti panyipta LayerCI mangrupikeun ilustrasi anu saé ngeunaan anu disebut tip & trik pikeun Kubernetes (sareng seueur deui). Solusi anu diusulkeun di dieu ngan ukur salah sahiji ti saeutik sareng, sigana, sanés anu paling atra (pikeun sababaraha kasus, "pribumi" pikeun K8 anu parantos disebatkeun dina koméntar tiasa cocog. kubectl port-forward). Nanging, éta ngamungkinkeun anjeun sahenteuna ningali masalah tina sudut pandang ngagunakeun utilitas klasik sareng salajengna ngagabungkeun aranjeunna - dina waktos anu sami sederhana, fleksibel sareng kuat (tingali "ideu sanésna" dina tungtungna pikeun inspirasi).
Ngabayangkeun kaayaan has: rék a port dina mesin lokal anjeun magically maju lalulintas keur pod a / wadahna (atawa sabalikna).
Kasus pamakéan mungkin
Pariksa naon titik tungtung HTTP mulih /healthz pod dina klaster produksi.
Sambungkeun debugger TCP kana pod dina mesin lokal.
Meunangkeun aksés ka database produksi tina parabot database lokal tanpa kudu repot jeung auténtikasi (biasana localhost boga hak root).
Jalankeun skrip migrasi hiji-waktos pikeun data dina klaster pementasan tanpa kudu nyieun wadahna.
Sambungkeun sési VNC ka pod ngajalankeun desktop virtual (tingali XVFB).
Sababaraha kecap ngeunaan parabot diperlukeun
Tcpserver - Utiliti Open Source sayogi dina kalolobaan repositori pakét Linux. Éta ngamungkinkeun anjeun muka port lokal sareng alihan lalu lintas anu ditampi via stdin / stdout tina paréntah anu ditangtukeun kana éta:
Paréntah ieu ngamungkinkeun pod pikeun ngakses port 8000 dina mesin lokal.
Aksara Bash
Kuring nulis naskah husus pikeun Bash nu ngidinan Anjeun pikeun ngatur hiji klaster produksi Kubernetes LapisanCIngagunakeun métode ditétélakeun di luhur:
kubetunnel() {
POD="$1"
DESTPORT="$2"
if [ -z "$POD" -o -z "$DESTPORT" ]; then
echo "Usage: kubetunnel [pod name] [destination port]"
return 1
fi
pkill -f 'tcpserver 127.0.0.1 6666'
tcpserver 127.0.0.1 6666 kubectl exec -i "$POD" nc 127.0.0.1 "$DESTPORT"&
echo "Connect to 127.0.0.1:6666 to access $POD:$DESTPORT"
}
Upami anjeun nambihan fungsi ieu kana ~/.bashrc, anjeun tiasa kalayan gampang muka torowongan dina pod kalayan paréntah kubetunnel web-pod 8080 jeung ngalakukeun curl localhost:6666.
Pikeun torowongan di Docker Anjeun tiasa ngagentos jalur utama ku: