【发布时间】:2020-11-10 12:00:45
【问题描述】:
我是 k8s 的菜鸟。
我知道 pod IP 设置在--cluster-cidr 的范围内。例如。 10.244.0.0/18
我的问题是如何从k8s集群外部访问pod IP。
我听说有两种方法可以做到这一点:
-
- 让Docker桥接器使用自定义的Linux桥接器,在
/etc/docker/daemon.json中的一些技巧,然后在路由器设备上通过ip route add 10.244.0.0/18 via {k8sNodeIp}添加路由记录(或类似的东西,我不知道细节) .
- 让Docker桥接器使用自定义的Linux桥接器,在
-
- 与上面的类似,但他们似乎在没有“桥梁技巧”的情况下完成了这一点,只需添加一些路线记录(如果我错了告诉我)。
这些解决方案来自两个不同的团队。
不知道k8s网络插件有没有涉及,第一个用flannel,最后一个用calico。
有关于这方面的文档吗?
【问题讨论】:
-
为什么不使用 NodePort 类型的 Kubernetes Service?
-
推荐的访问 pod 的方式是通过服务。使用 IP 不容易管理和扩展。如果你不需要考虑可扩展性,也许你不需要 k8s。
-
@ArghyaSadhu 这些解决方案不适用于生产用途,只是为了方便调试或开发。我找不到任何相关文档。
标签: kubernetes flannel calico