微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在GKE上使用nginx入口控制器时,负载均衡器的不健康节点

我在this guide之后设置了Nginx入口控制器.

入口运行良好,我也可以访问defaultbackend服务和我自己的服务.

但是,在查看在Google Cloud Console中创建的对象时,特别是自动创建的负载均衡器对象时,我注意到其他节点的运行状况检查失败:

enter image description here


这是因为入口控制器进程只在一个节点上运行,所以它是唯一通过运行状况检查的进程吗?
如何让其他节点通过?

解决方法:

你的假设是正确的.健康节点确实是运行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.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐