У меня есть кластер EKS, в котором работает kubernetes 1.14. Я развернул контроллер Nginx в кластере, выполнив следующие действия из следующей ссылки .
Вот шаги, которые я выполнил -
kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/master/deploy/static/mandatory.yaml
kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/master/deploy/static/provider/aws/service-l4.yaml
kubectl apply -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 "}
Я использую нативный плагин Amazon VPC CNI для Kubernetes для работы в сети -
amazon-k8s-cni:v1.5.4
Я заметил, что пара реплик из 5 реплик модуля входного контроллера nginx не смогла связаться с бэкэнд-приложением. Чтобы проверить связь между модулями входящего контроллера nginx и внутренними приложениями, я выполнил вход в модуль входящего контроллера nginx и попытался свернуть бэкэнд-сервис, и время его работы истекло, но когда я ssh перешел в другой бэкэнд-сервис, а затем свернул тот же бэкэнд-сервис, еговозвращает код состояния 200Я временно исправил это, удалив реплики, которые не могли общаться с бэкэндом, и воссоздал его. Это временно исправило проблему, но через несколько часов снова появляются те же ошибки.