无法进行端口转发:找不到 socat。 Docker 上的 Kubernetes

Unable to do port forwarding: socat not found. Kubernetes on Docker

我是 运行 Docker 机器上的开发 kubernetes 集群,以 GCE 作为提供者。集群是使用本教程设置的:https://github.com/kubernetes/kubernetes/blob/master/docs/getting-started-guides/docker.md。除了我尝试 port-forward 之外,一切正常。我得到:

E1104 00:58:23.210982   18552 portforward.go:310] An error occurred forwarding 650 -> 650: Error forwarding port 650 to pod pfsd-rc-7xrq1_default, uid : Unable to do port forwarding: socat not found.
I1104 00:58:23.220147   18552 portforward.go:251] Handling connection for 650
E1104 00:58:23.480593   18552 portforward.go:310] An error occurred forwarding 650 -> 650: Error forwarding port 650 to pod pfsd-rc-7xrq1_default, uid : Unable to do port forwarding: socat not found.
I1104 00:58:23.481531   18552 portforward.go:251] Handling connection for 650
E1104 00:58:23.851200   18552 portforward.go:310] An error occurred forwarding 650 -> 650: Error forwarding port 650 to pod pfsd-rc-7xrq1_default, uid : Unable to do port forwarding: socat not found.
I1104 00:58:23.852122   18552 portforward.go:251] Handling connection for 650

我试过在本地、GCE 机器上和容器内安装,但没有任何效果。还有人打这个吗?

您为虚拟机使用了什么映像?如果您使用 container VM image,它已经安装了 socat

这是一个错误,因为 socat 没有包含在 kubelet 容器中。 现已修复。

1.1.2 版是第一个包含此修复的版本。

有点晚了,但我认为它会对其他人有所帮助。

它说 socat 没有安装。 运行 apt-get -y install socat 在主机上解决了问题。它对我有用。

错误清楚地表明“找不到socat”。所以我们需要安装它(SOcket CAT),这里我使用的是Ubuntu。所以它可以用 apt install socat 安装。