joh*_*n2x 5 nginx kubernetes google-kubernetes-engine kubernetes-health-check gke-networking
我按照本指南设置了nginx入口控制器.
入口运行良好,我也可以访问defaultbackend服务和我自己的服务.
但是,在查看在Google Cloud Console中创建的对象时,特别是自动创建的负载均衡器对象时,我注意到其他节点的运行状况检查失败:

这是因为入口控制器进程只在一个节点上运行,所以它是唯一通过运行状况检查的进程吗?如何让其他节点通过?
cor*_*ien 10
你的假设是正确的.健康节点确实是运行nginx pod的节点.
您正在使用的指南配置服务externalTrafficPolicy: Local.(https://raw.githubusercontent.com/kubernetes/ingress-nginx/master/deploy/provider/gce-gke/service.yaml)
该策略将kube-proxy配置为永远不会将服务的流量路由到其到达的节点.因此,当负载均衡器流量到达没有nginx pod的节点时,运行状况检查失败,负载均衡器停止向它们发送流量.
这种配置的优点是可以避免额外的网络跳转到nginx pod.如果您需要更多节点来处理流量,您可以确保在那里运行nginx pod.如果你不介意额外的网络跳跃,你也可以改变它externalTrafficPolicy.
| 归档时间: |
|
| 查看次数: |
1414 次 |
| 最近记录: |