首页 文章

使用Kubernetes Ingress资源公开具有多个IP的多个后端

提问于
浏览
4

我通过nginx控制器公开了一个带有静态IP和Ingress的服务,作为kubernetes/ingress存储库的一个例子 . 我有第二个LoadBalancer服务,它不是由为第一个服务添加新资源后不再正确暴露的任何Ingress资源管理的(我不明白为什么会这样) .

我尝试添加第二个Ingress和LoadBalancer服务来分配第二个静态IP,但我无法让它工作 .

我将如何展示第二项服务,最好使用Ingress?我是否需要添加第二个Ingress资源,还是必须重新配置我已有的资源?

1 回答

  • 0

    Servicetype: LoadBalancer 一起使用并使用 Ingress 通常是相互排斥的方式来公开您的应用程序 .

    当您使用 type: LoadBalancer 创建 Service 时,Kubernetes会在您的 Cloud 帐户中创建一个具有IP的LoadBalancer,打开该LoadBalancer上与您的 Service 匹配的端口,然后将所有流量定向到该IP到1 Service . 因此,如果您有2个 Service 对象,每个对象具有'type: LoadBalancer',用于2个不同的 Deployment ,那么您也有2个IP(每个 Service 一个) .

    Ingress 模型基于通过运行类似nginx的单个Ingress Controller引导流量 . 随着 Ingress 资源的添加,Ingress Controller重新配置nginx以包含新的 Ingress 详细信息 . 在这种情况下,Ingress Controller(例如nginx)的 Service 将是 type: LoadBalancer ,但 Ingress 资源指向的所有服务都应该是 type: ClusterIP . 所有 Ingress 对象的流量将通过LoadBalancer的相同公共IP流入Ingress Controller Service 到Ingress Controller(例如nginx) Pod . 然后, Ingress 对象(例如虚拟主机或端口或路由)的配置详细信息将确定哪些 Service 将获得流量 .

相关问题