背景:我们使用Docker swarm和多个nginx,nodejs/auth,web应用服务,这个堆栈链接到应用网关。多个租户/客户被映射到应用程序网关IP,并且在内部根据客户ID,我们显示了所需的页面(在nginx中没有自定义重定向)。客户urls类似于customer1.mycompany.com、customer2.mycompany.com以及更多...
现在,我们正试图将一切都转移到Kubernetes (简称AKS)。
因此AKS集群由多个nginx,nodejs/auth,web应用pod组成。已尝试在具有所有子网/网络设置的同一资源组中添加应用程序网关。
但是现在当用户点击URL时,请求不会转到nginx。所以发现必须使用入口控制器。
设置了入口控制器,但设置了另一个路障。Nginx开始抛出DNS错误和all (Nginx conf有nodejs/auth服务名)。出于测试目的,将名称更改为IP,幸运的是重定向起作用了,但现在这个重定向进入循环。
任何修复循环问题的想法,并让AKS以更简单的方式连接到应用程序网关。
发布于 2021-01-12 23:29:27
最后,通过使用Brownfield/Greenfield (取决于场景)部署方法修复了该问题。
发布于 2020-12-16 12:16:36
循环循环问题可能是由几个因素引起的,这取决于你的Nginx是如何配置的,但如果你想避免有一个入口控制器,看看Application Gateway Ingress Controller (AGIC)项目。它使用Kubernetes控制器来管理应用程序网关,当您创建新的Ingress资源时,它将自动更新网关规则:

https://stackoverflow.com/questions/65233418
复制相似问题