புரோஹோஸ்டர் > Блог > நிர்வாகம் > டிசிபிசர்வர் மற்றும் நெட்கேட் மூலம் குபெர்னெட்ஸ் பாட் அல்லது கொள்கலனில் சுரங்கப்பாதையை திறப்பது எப்படி
டிசிபிசர்வர் மற்றும் நெட்கேட் மூலம் குபெர்னெட்ஸ் பாட் அல்லது கொள்கலனில் சுரங்கப்பாதையை திறப்பது எப்படி
குறிப்பு. மொழிபெயர்: LayerCI உருவாக்கியவரின் இந்த நடைமுறைக் குறிப்பு, Kubernetes க்கான குறிப்புகள் & தந்திரங்கள் (மற்றும் பல) என அழைக்கப்படும் சிறந்த விளக்கமாகும். இங்கே முன்மொழியப்பட்ட தீர்வு சிலவற்றில் ஒன்று மட்டுமே மற்றும், ஒருவேளை, மிகவும் வெளிப்படையானது அல்ல (சில சந்தர்ப்பங்களில், கருத்துகளில் ஏற்கனவே குறிப்பிட்டுள்ள K8 களுக்கான "சொந்தமானது" பொருத்தமானதாக இருக்கலாம். kubectl port-forward) இருப்பினும், கிளாசிக்கல் பயன்பாடுகளைப் பயன்படுத்துதல் மற்றும் அவற்றை மேலும் இணைக்கும் கண்ணோட்டத்தில் குறைந்தபட்சம் சிக்கலைப் பார்க்க இது உங்களை அனுமதிக்கிறது - அதே நேரத்தில் எளிமையானது, நெகிழ்வானது மற்றும் சக்தி வாய்ந்தது (உத்வேகத்திற்காக இறுதியில் "பிற யோசனைகளைப்" பார்க்கவும்).
ஒரு பொதுவான சூழ்நிலையை கற்பனை செய்து பாருங்கள்: உங்கள் லோக்கல் மெஷினில் டிராஃபிக்கை மாயமாக ஒரு பாட்/கன்டெய்னருக்கு (அல்லது நேர்மாறாக) அனுப்ப வேண்டும்.
சாத்தியமான பயன்பாட்டு வழக்குகள்
HTTP இறுதிப்புள்ளி என்ன திரும்பும் என்பதைச் சரிபார்க்கவும் /healthz உற்பத்தி கிளஸ்டரில் நெற்று.
உள்ளூர் கணினியில் உள்ள பாட் உடன் TCP பிழைத்திருத்தியை இணைக்கவும்.
உள்ளூர் தரவுத்தள கருவிகளிலிருந்து தயாரிப்பு தரவுத்தளத்திற்கான அணுகலைப் பெறவும், அங்கீகாரத்தைப் பற்றி கவலைப்படாமல் (பொதுவாக லோக்கல் ஹோஸ்டுக்கு ரூட் உரிமைகள் இருக்கும்).
ஸ்டேஜிங் கிளஸ்டரில் டேட்டாவிற்கு ஒரு கண்டெய்னரை உருவாக்காமல் ஒரு முறை இடம்பெயர்வு ஸ்கிரிப்டை இயக்கவும்.
மெய்நிகர் டெஸ்க்டாப்பில் இயங்கும் பாட் உடன் VNC அமர்வை இணைக்கவும் (XVFB ஐப் பார்க்கவும்).
தேவையான கருவிகளைப் பற்றி சில வார்த்தைகள்
Tcpserver — பெரும்பாலான லினக்ஸ் தொகுப்பு களஞ்சியங்களில் திறந்த மூல பயன்பாடு கிடைக்கிறது. இது ஒரு உள்ளூர் துறைமுகத்தைத் திறக்கவும், குறிப்பிட்ட கட்டளையிலிருந்து stdin/stdout வழியாகப் பெறப்பட்ட போக்குவரத்தைத் திருப்பிவிடவும் உங்களை அனுமதிக்கிறது:
Netcat இதற்கு நேர்மாறாக செயல்படுகிறது. இது ஒரு திறந்த போர்ட்டுடன் இணைக்க உங்களை அனுமதிக்கிறது மற்றும் அதிலிருந்து பெறப்பட்ட I/O ஐ stdin/stdout க்கு அனுப்பவும்:
colin@colin-work:~$ nc -C httpstat.us 80
GET /200 HTTP/1.0
Host: httpstat.us
HTTP/1.1 200 OK
Cache-Control: private
Server: Microsoft-IIS/10.0
X-AspNetMvc-Version: 5.1
Access-Control-Allow-Origin: *
X-AspNet-Version: 4.0.30319
X-Powered-By: ASP.NET
Set-Cookie: ARRAffinity=93fdbab9d364704de8ef77182b4d13811344b7dd1ec45d3a9682bbd6fa154ead;Path=/;HttpOnly;Domain=httpstat.us
Date: Fri, 01 Nov 2019 17:53:04 GMT
Connection: close
Content-Length: 0
^C
colin@colin-work:~$
இந்த கட்டளையானது லோக்கல் மெஷினில் போர்ட் 8000ஐ அணுகுவதற்கு பாட் அனுமதிக்கிறது.
பேஷ் ஸ்கிரிப்ட்
குபெர்னெட்ஸ் தயாரிப்பு கிளஸ்டரை நிர்வகிக்க உங்களை அனுமதிக்கும் பாஷுக்கான சிறப்பு ஸ்கிரிப்டை நான் எழுதினேன் லேயர்சிஐமேலே விவரிக்கப்பட்ட முறையைப் பயன்படுத்தி:
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"
}
இந்தச் செயல்பாட்டைச் சேர்த்தால் ~/.bashrc, நீங்கள் கட்டளையுடன் ஒரு பாட் ஒரு சுரங்கப்பாதையை எளிதாக திறக்கலாம் kubetunnel web-pod 8080 மற்றும் செய்ய curl localhost:6666.
உள்ள சுரங்கப்பாதைக்கு கூலியாள் பிரதான வரியை நீங்கள் மாற்றலாம்: