3 级端口转发 (Kubernetes Pod -> Docker Container -> Local

3 level Port forwarding (Kubernetes Pod -> Docker Container -> Local

我使用 docker 容器与我的 kubernetes 集群交互。我从容器内部 运行 kubectl。一切正常,除非我想转发。我可以使用 kubectl port forward 从 pod 转发到我的容器。但是我将无法从我的笔记本电脑浏览器访问该站点。我只能从容器内部卷曲。

有什么方法可以让我从浏览器访问该站点。 docker Mac 不支持主机网络模式,我使用 Mac。有什么建议吗?

我有这个场景,您可以根据需要进行调整:

在我的笔记本电脑上,我 运行 :

docker run -it --rm -p 2222:2222 ubuntu bash

从容器内部,我 运行 :

kubectl port-forward --address 0.0.0.0 pod/my-pod-7f66c99ddd-6c429 2222:22

现在这是 port-forwarding 的图表:

      2222             2222                 2222              22
laptop -------------------> docker-container------------------->k8s-pod

现在,在我笔记本电脑的另一个终端上,我可以做

ssh -p 2222 user-on-pod@laptop-hostname

到达吊舱