【问题标题】:Why can't I connect to pods through the port-forwarder?为什么我无法通过端口转发器连接到 Pod?
【发布时间】:2020-02-16 18:07:18
【问题描述】:

更新:

通过安装 socat 解决了这个问题 -

   sudo apt-get -y install socat

我正在尝试从另一个终端通过端口转发器连接到我在 minikube 中运行的 pod,但出现了一些错误。

我的 kubectl 版本 -

Client Version: version.Info{Major:"1", Minor:"15", GitVersion:"v1.15.3", GitCommit:"2d3c76f9091b6bec110a5e63777c332469e0cba2", GitTreeState:"clean", BuildDate:"2019-08-19T11:13:54Z", GoVersion:"go1.12.9", Compiler:"gc", Platform:"linux/amd64"}

Server Version: version.Info{Major:"1", Minor:"15", GitVersion:"v1.15.2", GitCommit:"f6278300bebbb750328ac16ee6dd3aa7d3549568", GitTreeState:"clean", BuildDate:"2019-08-05T09:15:22Z", GoVersion:"go1.12.5", Compiler:"gc", Platform:"linux/amd64"}

YML 文件内容 -

apiVersion: v1
kind: Pod
metadata:
  name: kubia-manual
spec:
  containers:
  - image: luksa/kubia
    name: kubia
    ports:
    - containerPort: 8080
      protocol: TCP

我跑了-

kubectl create -f kubia-manual.yaml

kubectl port-forward kubia-manual 8888:8080

得到了-

从 127.0.0.1:8888 -> 8080 转发

从 [::1]:8888 -> 8080 转发

在我尝试从另一个这样的终端连接到 pod 之后 -

curl localhost:8888

我进入这个终端

curl: (52) 来自服务器的空回复

在第二个终端中,我运行了我得到的端口转发命令 -

8888 E1020 14:55:35.817708 7075 的处理连接 portforward.go:400] 转发 8888 -> 8080 时发生错误:错误 将端口 8080 转发到 pod 253ecb3809333d7dbf7c54831ea12e1eee4f43c3107764ea8ad55f0cad06bc2c, uid :无法进行端口转发:找不到socat。

【问题讨论】:

  • 嗨@nirkov——继续发布你的解决方案作为这个问题的答案(并接受它)。这样,将来解决方案会更清楚。阅读有关self answers here 的更多信息。

标签: kubernetes kubectl portforwarding minikube kubernetes-pod


【解决方案1】:

最后我通过安装socat解决了-

   sudo apt-get -y install socat

【讨论】:

    【解决方案2】:

    我认为根据您的端口转发,您应该尝试在 8888 上连接它

     curl localhost:8888
    

    对我有用

    【讨论】:

    • 是的,对不起,我尝试连接 8888,但没有成功。我纠正了我的错误。
    猜你喜欢
    • 2018-01-21
    • 2018-07-01
    • 2014-10-24
    • 1970-01-01
    • 2022-07-24
    • 2022-08-08
    • 2021-05-04
    • 2021-10-13
    • 2011-12-03
    相关资源
    最近更新 更多