2017-09-01 189 views
0

我们正在分析在本地环境中集成Kubernetes服务。我们有基于SaaS的服务,可以公开暴露。内部部署 - Kubernetes服务的外部端点

我们怀疑为服务设置外部端点。有没有办法为这些服务创建外部端点?

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

我们也尝试使用入口控制器,并且我们也可以通过入口控制器所在节点的IP地址访问我们的服务。

例如:

Public IP : XXX.XX.XX.XX 

理想情况下,我们将有图有负载均衡虚拟IP的公网IP,但我们无法找到Kubernetes这样的设置。

有什么办法可以解决这个问题吗?

回答

0

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

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

一些资源:关于如何吊舱可以从您的K8S集群外部够到

  • Here详细信息)。
  • Here一个很好的教程,介绍如何在k8上设置入口控制器。

如果你在你的集群不止一个奴才,你最终会具有负载平衡他们的问题。 This question可以对此有所帮助。

+0

感谢您的评论。让我试试 – StackOverFlow

+0

@https://stackoverflow.com/users/1078969/whites11,我可以根据您的建议设置入口控制器。我还有一个疑问, 是否也可以允许监听多个端口(例如8443和8080),然后将传入的请求转发到https://demo.example.com:8443到service1和http:// demo .example.com:从8080到kubernetes入口控制器中的service2? – StackOverFlow