【问题解决】unable to do port forwarding: socat not found
问题复现
前阵子应公司要求做华为云平台的调研,写了一篇文档包含将华为云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包。
参考链接
本文作者:东北小狐狸
本文链接:https://www.cnblogs.com/hellxz/p/17901665.html
版权声明:本作品采用自由转载-非商用-非衍生-保持署名 (CC BY-NC-ND 3.0)许可协议进行许可。
分类:
Kubernetes/OpenShift
, 问题解决
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
2019-12-14 Spring Security OAuth2 Demo —— 客户端模式(ClientCredentials)
2019-12-14 Spring Security OAuth2 Demo —— 密码模式(Password)
2017-12-14 java 静态导入 小结