背景:最近我们在将服务迁移到k8s集群,原来的架构是客户端-->cdn-->alb-->nginx-->后端服务,迁移到k8s集群后的架构是客户端-->cdn-->alb-->nginx-->ingress-nginx-->后端服务。随着迁移进度的增加,发现偶尔nginx会报“no live upstreams while connecting to upstream”
通过排查分析源码发现当rc等于NGX_BUSY的时候,就会记录“no live upstreams”的错误。
解决:
增大长连接,原来 keepalive 配置的是5000;将其增加一倍,改为10000;并增加了ingress的upstream节点数,原来只配了三台,所以增加两台。