ProHoster > Pūnaewele > Nā Administration > Pehea e wehe ai i kahi tunnel ma kahi pahu Kubernetes a i ʻole pahu me ka tcpserver a me ka netcat
Pehea e wehe ai i kahi tunnel ma kahi pahu Kubernetes a i ʻole pahu me ka tcpserver a me ka netcat
Nānā. unuhi.: ʻO kēia memo kūpono mai ka mea nāna i hana iā LayerCI he hōʻailona maikaʻi loa ia o nā mea i kapa ʻia ʻo nā ʻōlelo aʻoaʻo a me nā hoʻopunipuni no Kubernetes (a ʻoi aku). ʻO ka hoʻonā i manaʻo ʻia ma ʻaneʻi he hoʻokahi wale nō o nā mea liʻiliʻi a, ʻaʻole paha, ʻaʻole i maopopo loa (no kekahi mau hihia, ʻo ka "kūpono" no K8s i ʻōlelo ʻia ma nā ʻōlelo he kūpono paha. kubectl port-forward). Eia nō naʻe, hiki iā ʻoe ke nānā liʻiliʻi i ka pilikia mai ka manaʻo o ka hoʻohana ʻana i nā pono hana maʻamau a hoʻohui hou iā lākou - i ka manawa like maʻalahi, maʻalahi a ikaika (e ʻike i nā "manaʻo ʻē aʻe" ma ka hopena no ka hoʻoikaika ʻana).
E noʻonoʻo ʻoe i kahi kūlana maʻamau: makemake ʻoe i kahi awa ma kāu mīkini kūloko e hoʻouna aku i nā kaʻa i kahi pod/container (a i ʻole ʻē aʻe).
Hiki ke hoʻohana ʻia
E nānā i ka mea e hoʻihoʻi mai ai ka hopena HTTP /healthz pod i loko o ka hui hana.
Hoʻohui i kahi debugger TCP i ka pod ma ka mīkini kūloko.
E kiʻi i ka ʻikepili hana mai nā mea hana ʻikepili kūloko me ka ʻole e hoʻopilikia i ka hōʻoia (ʻo ka maʻamau he kuleana kumu ko localhost).
E holo i ka palapala neʻe hoʻokahi manawa no ka ʻikepili i loko o kahi pūʻulu hoʻokūkū me ka ʻole e hana i kahi pahu no ia.
Hoʻohui i kahi hālāwai VNC i kahi pod e holo ana i kahi papapihi virtual (e ʻike i ka XVFB).
He mau hua'ōlelo e pili ana i nā mea hana pono
Tcpserver - Loaʻa kahi pono Open Source i ka hapa nui o nā waihona waihona Linux. Hāʻawi ia iā ʻoe e wehe i kahi awa kūloko a hoʻihoʻi hou i nā kaʻa i loaʻa ma o stdin/stdout mai kekahi kauoha i kuhikuhi ʻia iā ia:
Hāʻawi kēia kauoha i ka pod e komo i ke awa 8000 ma ka mīkini kūloko.
Palapala Bash
Ua kākau wau i kahi palapala kūikawā no Bash e hiki ai iā ʻoe ke hoʻokele i kahi hui hana Kubernetes LayerCIme ka hoʻohana ʻana i ke ala i hōʻike ʻia ma luna nei:
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"
}
Inā ʻoe e hoʻohui i kēia hana i ~/.bashrc, hiki iā ʻoe ke wehe maʻalahi i kahi tunnel i loko o kahi pod me ke kauoha kubetunnel web-pod 8080 a hana curl localhost:6666.
No ka tunnel i loko Docker hiki iā ʻoe ke pani i ka laina nui me:
Hiki iā ʻoe ke hoʻihoʻi hou i ka lele UDP me ka hoʻohana ʻana i nā kauoha netcat -l -u -c ma kahi o tcpserver и netcat -u ma kahi o netcat ʻo kēlā me kēia.