我在 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
我在这里找到了与我的需求类似的解决方案。但这看起来像是糟糕的架构决策。在新 Pod 启动后自动将外部流量重定向到 pod 是否更好?