在AKS(Azure Kubernetes服务)Kubernetes集群中通过ingress-nginx配置IP白名单的问题咨询
在AKS(Azure Kubernetes服务)Kubernetes集群中通过ingress-nginx配置IP白名单的问题咨询
各位好,我最近在AKS集群里碰到了一个配置难题,想向大家求助。
我有一个暴露为LoadBalancer类型的公共服务,访问地址是234.234.234.234:1234,现在需要把这个服务的访问权限限制到特定的可信IP 123.123.123.123。
我查了相关配置方法,知道可以给Ingress添加注解:
nginx.ingress.kubernetes.io/whitelist-source-range: 123.123.123.123/32
但实际配置后发现这个白名单规则根本不起作用,排查后发现问题出在默认的externalTrafficPolicy设置上——它默认是"Cluster",这会导致Ingress控制器无法获取到真实的客户端IP,取而代之的是集群内部的IP地址,自然白名单就失效了。
后来我看到可以把ingress-nginx控制器的controller.service.externalTrafficPolicy设置为"Local"来解决这个问题,但我不太确定这么做会带来哪些影响,比如会不会影响集群的负载均衡效果?对服务的可用性有没有潜在风险?还有没有其他需要额外配置或注意的地方?
希望有经验的朋友能给我一些建议,谢谢大家!
备注:内容来源于stack exchange,提问作者0xlivingbeef
相关产品推荐
相关产品推荐

