問題復現
前陣子應公司要求做華爲雲平臺的調研,寫了一篇文檔包含將華爲雲CCE下載kuberctl配置及使用kubectl轉發流量到本地的操作。
今天一早上同事就發來一個錯誤界面,說是Java遠程調試轉發過來的端口出現問題,如下圖:
處理思路
最初以爲是容器鏡像未安裝socat所致,安裝重新打鏡像後問題仍存在。
在網上查詢了下github和stackoverflow,發現問題出在k8s的版本上和工作節點未安裝socat。
根據代碼的追蹤,定位到從release-0.16 ~ release-1.2 都有pkg/kubelet/dockertools/manager.go
這個源碼文件,其PortForward
方法中會校驗工作節點中是否安裝了socat包,雖然更高版本沒這個文件了,但kubelet相關仍有socat檢測,也就是說升k8s版本可能解決不了問題。
解決辦法
升級k8s版本高於1.2。- 工作節點安裝socat包。
參考鏈接