前提 – Kubernetes服务的外部端点

我们正在分析Kubernetes服务在本地环境中的整合。 我们有基于SaaS的服务,可以公开暴露。

我们怀疑为服务设置外部端点。 有什么办法可以为服务创build外部端点吗?

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

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

例如 :

 Public IP : XXX.XX.XX.XX 

理想情况下,我们将公共IP与负载均衡器虚拟IP映射,但我们无法在Kubernetes中find这样的设置。

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

我的build议是使用一个Ingress Controller作为kubernetes中所有服务的代理。

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

一些资源:

  • 这里详细介绍如何从k8s集群外部连接pod)。
  • 这里有一个很好的教程,介绍如何在K8上设置入口控制器。

如果你的集群中有多个minion,你最终会遇到负载平衡的问题。 这个问题可以帮上忙。