如何从外部访问Pod IP

时间:2020-07-21 06:47:55

标签: kubernetes flannel calico

我是k8s的新秀。

我知道Pod IP由--cluster-cidr设置在范围内。例如。 10.244.0.0/18

我的问题是如何从k8s集群外部访问pod IP。

我听说有两种方法可以做到这一点:

    1. 使 Docker 桥使用自定义的Linux桥,使用/etc/docker/daemon.json中的一些技巧,然后通过ip route add 10.244.0.0/18 via {k8sNodeIp}在路由器设备上添加路由记录(或类似的方法,不知道详细信息。)
    1. 类似于上一个,但是他们似乎完成了没有“桥梁技巧”的工作,只需添加一些路线记录(如果我错了就告诉我)。

这些解决方案来自两个不同的团队。

我不知道是否参与了k8s网络插件,第一个使用flannel,最后一个使用calico

关于这个的任何文档吗?

1 个答案:

答案 0 :(得分:0)

答案

您可以使用kubectl port-forward与Pods 中的容器直接对话,以进行调试/开发

例如kubectl port-forward mypod 5000:6000

请参阅文档here

更多信息

此命令将在您的工作站上设置代理,以便您可以运行,例如:

curl localhost:5000/api/v1/status

此请求将转发到API服务器,然后将其转发到您在port-forward命令中指定的Pod。