You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AWS NLB目标组单节点健康检查失败问题咨询

该问题常见诱因按排查优先级排序如下
  • 节点流量拦截规则异常
    即使用同一实例模板创建,节点也可能出现规则下发偶发错误:要么是节点本地iptables/nftables规则同步错乱,要么是节点关联的安全组入站规则出现单节点漂移,拦截了NLB健康检查源地址、以及容器内访问节点ingress NodePort端口的流量。排查时先在异常节点本地执行curl 127.0.0.1:<ingress-nginx对应的NodePort>验证,如果本地访问都超时,优先核对安全组入方向是否放通对应NodePort的内网流量,再检查节点iptables nat规则是否正常。
  • ingress-nginx控制器Pod未调度到异常节点
    如果ingress-nginx副本数不足2,或是配置了节点亲和性、污点容忍规则,导致异常节点上没有运行ingress-nginx-controller Pod,该节点的NodePort转发规则就无法将流量转到可用Pod,访问节点IP自然会超时。这种场景下服务整体可用属于正常现象:NLB健康检查存在判定周期,且另一个节点可正常承载流量,ingress日志只会记录实际转发到后端Pod的请求,不会记录节点层面直接丢包的健康检查流量。执行kubectl get pod -n ingress-nginx -o wide即可确认两个节点是否都存在运行态的controller Pod。
  • 异常节点上kube-proxy运行异常
    单节点的kube-proxy Pod崩溃、与apiserver连接中断导致规则同步卡住,会直接造成该节点所有NodePort转发规则失效,哪怕集群其他组件运行正常,这个节点也无法响应NodePort层面的请求。排查时可查看异常节点上kube-proxy的容器日志,确认是否存在规则同步失败、连接apiserver超时的报错,同时执行iptables -t nat -L KUBE-NODEPORTS核对是否存在ingress-nginx对应的NodePort转发规则。
  • NLB目标组健康检查配置不匹配
    如果手动调整过NLB目标组的健康检查参数,可能出现探测端口、路径和ingress-nginx实际暴露的配置不匹配:比如ingress-nginx默认健康检查端点是/healthz,如果修改为其他路径,或是端口错填为实例端口而非NodePort,也可能导致单节点偶发超时被标记为不健康。该原因优先级较低,从容器内curl节点IP已经出现超时的现象来看,大概率是节点层面转发故障,排查完前面三项后再核对目标组配置即可。
  • 节点内核网络配置异常
    单节点启动时如果net.ipv4.ip_forward参数未正常置为1,或是nf_conntrack表打满导致丢包,也会引发NodePort流量转发超时。可在异常节点执行sysctl net.ipv4.ip_forward确认参数值,再通过dmesg查看内核日志是否存在conntrack表满、网络丢包的相关报错。

内容的提问来源于stack exchange,提问作者Jacob Ma

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.28 07:01:02