问题描述
我们在集群中使用 Nginx 作为入口控制器。
几天前,我们开始收到 panopta 不良网关中断电子邮件。 在入口日志中
panopta-ip - [panopta-ip] - - [29/Jun/2021:10:21:02 +0000] "GET /index.html HTTP/1.1" 502 157 "http://checks.panopta.com/" "Panopta v1.1" 185 0.000 [default-webapp-8080] 100.96.12.84:8080,100.96.12.84:8080,100.96.12.84:8080 0,0 0.000,0.000,0.000 502,502,502 f3114b9e52a8c5d354161984458f851c
2021/06/29 10:21:04 [error] 2759#2759: *121227793 connect() Failed (111: Connection refused) while connecting to upstream,client: panopta-ip,server: my-domain.com,request: "GET /index.html HTTP/2.0",upstream: "http://100.96.12.84:8080/index.html",host: "mydomain.com"
2021/06/29 10:21:09 [error] 2760#2760: *121228114 connect() Failed (111: Connection refused) while connecting to upstream,server: mydomain.com,request: "GET /index.html HTTP/1.1",host: "mydomain.com",referrer: "http://checks.panopta.com/"
日志说无法连接到 pod。
当我尝试在 chrome 中访问页面时,它会显示 Nginx 502 bad gateway 消息。 但是过一段时间会自动解决。 在搜索谷歌后,大多数链接都说它应该是 pod 问题(因为他们说问题与后端有关)
当问题再次出现时,我们将重新启动 pod,它会工作,但问题会在一段时间后重新出现。 因此,当问题再次出现时,我检查了从其他 pod 到 webapp pod 的连接。 其他 pod 能够通过该服务以及 pod 的 IP 进行连接。
所以我的问题是,当其他 Pod 能够连接时,为什么入口会出现与 Pod 的连接问题。 检查 webapp pod 和 ingress pod 日志后,我们重新启动了 ingress pod。 它现在没有任何问题。
有没有人遇到过类似的问题。
入口 yaml 文件
apiVersion: extensions/v1beta1
kind: Ingress
Metadata:
annotations:
certmanager.k8s.io/cluster-issuer: letsencrypt-prod
name: web-app-ingress
namespace: default
spec:
rules:
- host: mydomain.com
http:
paths:
- backend:
serviceName: web-app
servicePort: 8080
path: /mypage/
- backend:
serviceName: web-app
servicePort: 8080
path: /index.html
- backend:
serviceName: web-app
servicePort: 8080
path: /favicon.ico
tls:
- hosts:
- mydomain.com
secretName: mydomain.com-crt
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)