升级K8s版本后无法从公网连接Azure AKS集群
AKS集群K8s 1.19升1.22后Ingress公网访问超时排查方案
已知集群内临时Pod通过kubectl run my-shell --rm -i --tty --image ubuntu -- bash创建后,curl Ingress公网IP可正常返回结果,说明Ingress转发链路、后端服务本身无异常,故障点在公网到集群入口的路由/流量拦截层,按以下顺序逐层排查:
1. 先校验Ingress-Nginx LoadBalancer服务配置兼容性
K8s 1.22移除了多个旧版API,AKS对应负载均衡的默认逻辑也有调整,优先排查配置错配:
- 执行
kubectl get svc -n ingress-nginx找到ingress-nginx-controller对应的LoadBalancer类型服务,核对返回的EXTERNAL-IP和你公网curl的IP一致,避免升级过程中服务重建更换公网IP,导致原有NSG规则未匹配到新IP - 执行
kubectl describe svc ingress-nginx-controller -n ingress-nginx查看注解,删除所有service.beta.kubernetes.io/azure-load-balancer-health-probe-*开头的旧版健康探针注解:1.20之后AKS会自动为LoadBalancer服务配置正确的节点健康探针,旧版本残留的注解会导致SLB健康检查失败,公网流量不会被转发到后端节点 - 检查服务的
externalTrafficPolicy配置:如果值为Local,执行kubectl get pod -n ingress-nginx -o wide确认Ingress控制器Pod确实调度在SLB后端池列出的节点上,否则流量到节点后找不到对应监听端口会直接丢弃
2. 全链路枚举所有流量拦截规则,不要仅检查单个NSG
公网到集群节点的流量会经过多层访问控制,漏查任意一层都会导致超时:
- 到AKS对应的
MC_开头的自动生成节点资源组,找到和Ingress公网IP绑定的负载均衡器资源:先检查负载均衡规则是否正常监听80/443端口,查看后端池实例健康状态,如果实例全部显示不健康,回到上一步重新排查健康探针配置 - 逐层核对所有关联NSG的规则:流量路径上一共会经过4层NSG/访问控制,分别是「公网IP直接关联的NSG(若配置)」→「负载均衡器所在子网关联的NSG」→「AKS节点网卡单独关联的NSG」→「AKS节点本地主机防火墙」,每一层都要确认没有高优先级的拒绝规则拦截来自Internet、目标端口为80/443的TCP流量,注意NSG规则优先级数字越小匹配顺序越靠前,要确认放通规则排在所有拒绝规则之前
- 检查虚拟网络路由配置:如果VNet配置了0.0.0.0/0的默认路由指向Azure Firewall或第三方网络虚拟设备(NVA),需要确认防火墙入站规则放通了到Ingress公网IP的80/443流量,同时回包路由没有被强制隧道劫持造成不对称路由丢包
- 校验节点本地防火墙规则:执行
kubectl debug node/<替换为实际节点名> -it --image=mcr.microsoft.com/aks/fundamental/base-ubuntu:v0.0.11进入节点调试环境,执行iptables -L INPUT -n | grep -E '80|443|DROP'确认节点本地iptables规则没有丢弃公网到Ingress监听端口的流量,1.22升级后部分旧版安全DaemonSet可能会下发错误的iptables拦截规则
3. 版本升级相关的特殊配置校验
- 确认Ingress-Nginx版本兼容性:低于1.0.0版本的Ingress-Nginx不兼容K8s 1.22版本,虽然集群内访问正常的场景下该问题概率较低,仍可执行
kubectl exec -n ingress-nginx <替换为Ingress控制器Pod名> -- /nginx-ingress-controller --version确认版本,建议升级到1.2+版本适配K8s 1.22 - 检查公网IP SKU:如果Ingress使用的是基本SKU公网IP,AKS 1.22版本默认开启的节点公网访问默认拒绝策略会拦截对应流量,更换为标准SKU公网IP即可恢复
快速定位故障点技巧:在公网侧机器执行
tcptraceroute <Ingress公网IP> 80,如果在Azure骨干网边缘节点就出现丢包,故障点在SLB、NSG或防火墙层;如果流量已经到达SLB后端节点后才丢包,故障点在节点本地iptables或kube-proxy规则层。
内容的提问来源于stack exchange,提问作者HEDGEWIZARDS
相关产品推荐
相关产品推荐

