【发布时间】:2020-02-12 08:41:30
【问题描述】:
我有一个运行 kubernetes 1.14 的 EKS 集群。我按照以下link 中的这些步骤在集群上部署了 Nginx 控制器。
这是我遵循的步骤 -
kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/master/deploy/static/mandatory.yaml
kubectl 应用 -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/master/deploy/static/provider/aws/service-l4.yaml
kubectl 应用 -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/master/deploy/static/provider/aws/patch-configmap-l4.yaml
但我不断在入口控制器中间歇性地收到这些错误。
2019/10/15 15:21:25 [error] 40#40: *243746 upstream timed out (110: Connection timed out) while connecting to upstream, client: 63.xxx.xx.xx, server: x.y.com, request: "HEAD / HTTP/1.1", upstream: "http://172.20.166.58:80/", host: "x.y.com"
有时这些 -
{"log":"2019/10/15 02:58:40 [error] 119#119: *2985 connect() failed (113: No route to host) while connecting to upstream, client: xx.1xx.81.1xx, server: a.b.com , request: \"OPTIONS /api/v1/xxxx/xxxx/xxx HTTP/2.0\", upstream: \"http://172.20.195.137:9050/api/xxx/xxx/xxxx/xxx\ ", host: \"a.b.com \", referrer: \"https://x.y.com/app/connections\"\n","stream":"stderr","time":"2019-10-15T02:58:40.565930449Z "}
我正在使用适用于 Kubernetes 的原生 Amazon VPC CNI 插件进行联网 -
amazon-k8s-cni:v1.5.4
我注意到 nginx 入口控制器 pod 的 5 个副本中有几个副本无法与后端应用程序通信。 为了检查 nginx 入口控制器 pod 和后端应用程序之间的连接性,我 ssh 进入 nginx 入口控制器 pod 并尝试 curl 后端服务并且它超时,但是当我 ssh 进入另一个后端服务然后卷曲相同的后端服务时返回 200 状态码。我临时修复它的方法是删除无法与后端通信的副本并重新创建它。这暂时解决了这个问题,但几个小时后,同样的错误又开始出现了。
【问题讨论】:
标签: amazon-web-services kubernetes nginx-ingress amazon-eks