【发布时间】:2015-05-16 20:12:43
【问题描述】:
我在 Digital Ocean 上的集群上使用 kubernates。
我在 Pod 的容器内有应用程序。我需要与此应用程序建立外部连接。我需要访问具体实例(因为我有超过 10 个使用此应用程序的 Pod)。
所以,我的问题是:我怎样才能让外部访问这个应用程序。
例如我有公共 IP 192.168.9.9
并且有 2 个带有实例的 pod。第一次监听 8990 端口,Pod IP 为 10.0.0.1,第二次监听 8991 端口,Pod IP 为 10.0.0.1。
所以,我需要将流量从 192.168.9.9:8990 重定向到 10.0.0.1:8990 和 192.168.9.9:8991 到 10.0.0.1:8991。
是的,我可以通过手动使用 iptables 来做到这一点。但我想自动完成。当新的 Pod 启动时,我想在 iptables 中进行记录。
我可以使用 api 监视服务:
127.0.0.1:8080/api/v1beta1/watch/services
并且可以在这里获取 pod 的 ip:
127.0.0.1:8080/api/v1beta1/pods
我找到了与我的需求类似的解决方案here。但这看起来像是糟糕的架构决策。在新 Pod 启动后自动将外部流量重定向到 Pod 是否更好?
【问题讨论】:
标签: centos iptables google-cloud-platform kubernetes