内部部署 - 服务的Kubernetes外部端点

时间:2017-09-01 06:28:58

标签: docker kubernetes

我们正在分析Kubernetes服务在我们的内部部署环境中的集成。我们有基于SaaS的服务,可以公开展示。

我们对设置服务的外部端点存有疑虑。有没有办法为服务创建外部端点?

我们尝试使用主节点IP地址在服务中设置ExternalIP参数。不确定这是正确的方法。一旦我们使用主节点IP地址设置外部IP,我们就可以访问这些服务。

我们还尝试使用入口控制器,我们也可以使用入口控制器运行的节点的IP地址访问我们的服务。

例如:

Public IP : XXX.XX.XX.XX

理想情况下,我们会使用负载均衡器虚拟IP映射公共IP,但我们在Kubernetes中找不到这样的设置。

有没有办法解决这个问题?

1 个答案:

答案 0 :(得分:2)

我的建议是使用Ingress控制器作为kubernetes中所有服务的代理。

当然,您的入口控制器必须以某种方式暴露给外界。我的建议是使用入口控制器pod的hostNetwork设置(这样,pod将在主机的物理接口上监听,就像任何其他“传统”服务一样)。

一些资源:

  • Here有关如何从k8s群集外部访问pod的详细信息。
  • Here关于如何在k8s上设置入口控制器的精彩教程。

如果群集中有多个minion,那么最终会遇到负载均衡问题。 This question对此有所帮助。