【发布时间】:2016-05-18 10:48:34
【问题描述】:
我在 Azure 上运行一个具有 1 个主节点(也是一个节点)和 2 个节点的 kubernetes 集群。我正在使用带有 Flannel 覆盖网络的 Ubuntu。到目前为止,一切都运行良好。我唯一的问题是将服务暴露在互联网上。
我在天蓝色子网上运行集群。主服务器连接了一个具有公共 IP 的 NIC。这意味着如果我运行一个侦听端口 80 的简单服务器,我可以使用域名访问我的服务器(Azure 提供了一个为公共 IP 提供域名的选项)。
我还可以通过一些 hack 访问 kubernetes 留言簿前端服务。我所做的是检查主服务器上的所有监听端口,并使用公共 IP 尝试每个端口。我能够访问 kubernetes 服务并获得响应。根据我的理解,这将直接转到在主节点(也是一个节点)上运行的 pod,而不是通过服务 IP(这将在任何 pod 之间进行负载平衡)。
我的问题是如何将外部 IP 映射到服务 IP?我知道 kubernetes 有一个仅适用于 GCE 的设置(我现在不能使用)。但是有什么巧妙的方法可以告诉 etcd/flannel 这样做吗?
【问题讨论】:
标签: azure docker kubernetes