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

关于Kubernetes Nginx-Ingress负载均衡及节点地址显示的疑问

问题解答

1. kubectl get ingress的ADDRESS列是否应显示所有节点地址?

不会。这个字段展示的是Ingress Controller对外暴露的入口地址,和后端流量分发策略无关:

  • 如果Ingress Controller通过NodePort部署,ADDRESS可能显示<none>或集群的外部入口IP;
  • 如果用LoadBalancer类型Service暴露,ADDRESS会显示LB的外部IP;
  • 你看到的单个节点地址,通常是Ingress Controller Pod所在节点的IP,或是集群中负责流量接入的节点IP,但这和内部的round-robin转发逻辑没有关联——轮询是Ingress Controller对后端Pod的转发规则,不影响Ingress资源的ADDRESS字段展示。

2. 如何确认流量是否分发至所有节点?

可以通过以下几种方式验证:

  • 查看Ingress Controller日志:执行kubectl logs -n <ingress-namespace> <ingress-controller-pod-name>,日志中会记录每个请求转发到的后端Pod IP,统计这些IP对应的节点,就能判断流量是否覆盖所有节点。
  • 统计Pod负载:用kubectl top pod -n <your-app-namespace>查看同类型Pod的CPU、内存使用率,若流量均匀,同组Pod的负载会大致相近,对应节点的负载也会相对均衡。
  • 应用日志埋点:在应用代码中添加当前Pod所在节点的日志记录,通过日志聚合工具统计各节点的请求量。
  • 自定义Grafana监控面板:
    • 确保Ingress Controller开启metrics端口(默认10254/metrics),用Prometheus采集指标;
    • 在Grafana中基于nginx_ingress_controller_requests指标,按node或pod维度分组统计请求数,直观查看各节点的流量分布。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 15:57:09