描述: 最近将部分业务通过Ingress进行发布管理, 从而实现应用灰蓝发布、金丝雀发布,更贴近当下自动化运维技术的发展,并为了进行实现七层自定义负载转发, 将不同应用程序配置到指定业务域名下不同的目录,并减少业务管理复杂化,同时节约域名资源,即多个业务可以通过一个域名出去提供服务。
但是在实际环境中却发现一个小问题,在通过ingress-nginx访问后端应用时,无法无法获取真实的客户端IP,经过一天的资料查找与实践,最终将该问题进行解决,下面将记一波解决思路流程和配置实践。
环境说明
访问流程: 客户端 -> 边界防火墙 -> A10(硬件)负载均衡 -> Ingrees-Nginx -> statefulsets.apps (应用配置、扩容及其生命管理) -> Pod (应用程序)
A10 负载均衡: 在硬件负载均衡上设置该业务域名的SSL,即实现外网访问https->转内网->http
ingress-nginx