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

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

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

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

最佳答案 使用类型为:LoadBalancer并使用Ingress的服务通常是公开应用程序的互斥方式.

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

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

点赞