-2

我是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.

任何关于此的文档?

4

1 回答 1

0

回答

出于调试/开发的目的,您可以使用kubectl port-forward直接与 Pod 中的容器对话。

例如kubectl port-forward mypod 5000:6000

在此处查看文档

更多信息

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

curl localhost:5000/api/v1/status

该请求将被转发到 API Server,然后 API Server 会将您的请求转发到您在port-forward命令中指定的 Pod。

于 2020-07-21T09:49:10.063 回答