我在kubernetes中使用nginx-ingress控制器设置了一个Web应用程序.我可以通过Nginx入口控制器公共IP访问我的应用程序.
对于超过1分钟的请求,我们得到网关连接超时错误(504).我通过连接到pod来检查Nginx入口控制器配置,它的connection_timeout值为60s. (问题的根本原因)
我已经尝试将参数更改为更高的值,并且对于长请求它可以正常工作,尽管Nginx入口控制器配置在一段时间后重新加载到默认值.
我们如何更改/保留Nginx入口控制器配置参数?
感谢任何帮助.提前致谢.
解决方法:
您可以通过将参数–configmap传递给入口控制器来实现此目的.资料来源:https://github.com/kubernetes/ingress/tree/master/controllers/nginx#command-line-arguments
在kube-system命名空间中,创建一个configmap,命名为Nginx-load-balancer-conf,然后编辑入口控制器的复制控制器或守护进程,并添加–configmap = Nginx-load-balancer-conf参数.
以下是configmap的外观示例:
apiVersion: v1
data:
proxy-connect-timeout: "10"
proxy-read-timeout: "120"
proxy-send-timeout: "120"
kind: ConfigMap
Metadata:
name: Nginx-load-balancer-conf
如果你要将上面的内容保存到一个名为Nginx-load-balancer-conf.yaml的文件中,这就是你创建它的方法
kubectl create -f Nginx-load-balancer-conf.yaml
configmap的有效配置参数:https://github.com/kubernetes/ingress/blob/master/controllers/nginx/configuration.md#allowed-parameters-in-configuration-configmap
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。