Kubernetes nginx 入口控制器 returns 504 错误

Kubernetes nginx ingress controller returns 504 error

我们的本地 Kubernetes/Kubespray 集群突然停止了 nginx-ingress 和节点端口服务之间的路由流量。对入口端点的所有外部请求 return 出现“504 - 网关超时”错误。

我如何诊断损坏的东西?

我已经确认 containers/pods 正在 运行ning,节点应用程序已经启动,如果我执行到 pod,那么我可以 运行 本地 curl 命令并获取来自应用程序的响应。

我已经检查了入口 pods 上的日志,流量正在到达,nginx 正在尝试将流量转发到服务 endpoint/node 端口,但它报告了一个错误。

我也尝试通过节点端口直接 curl 到节点,但没有得到任何响应。

我查看了 ipvs 配置,设置看起来有效(例如,节点有规则在服务端点的节点端口上转发流量 address/port)

我们无法解决这个问题,最后,唯一的解决方法是卸载并重新安装集群。

我得到这个是因为 nginx 入口控制器 pod 运行 内存不足,我只是增加了 pod 的内存并且它工作了。

我遇到了类似的问题,简单的解决方法是增加集群上应用程序 pods 运行 的 K8S_CPU_LIMIT 和 K8S_MEMORY_LIMIT 的值。