如何解决如何在Kubernetes维护的Nginx入口中更改默认的TCP服务proxy_timeout?
我已尝试将k8s维护的nginx-ingress中的tcp服务的默认proxy_timeout(600s)更改为3600s。但是它不起作用。
我执行了nginx-controller pod,并在nginx.conf中得到了以下内容。
# TCP services
server {
preread_by_lua_block {
ngx.var.proxy_upstream_name="tcp-test-test-db-test-lb-dev-7687";
}
listen 7687;
proxy_timeout 600s;
proxy_pass upstream_balancer;
}
我使用了以下configmap并发现它无法正常工作。我仍然有600秒的超时时间。
apiVersion: v1
kind: ConfigMap
metadata:
name: tcp-services
namespace: ingress-nginx
annotations:
ingress.kubernetes.io/proxyTimeout: 3600s
ingress.kubernetes.io/proxy-stream-timeout: 3600s
ingress.kubernetes.io/proxy-connect-timeout: 3600s
ingress.kubernetes.io/proxy-read-timeout: 3600s
ingress.kubernetes.io/proxy-send-timeout: 3600s
ingress.kubernetes.io/proxy_timeout: 3600s
data:
7687: "test-test-db/test-lb-dev:7687"
8687: "test-test-db/test-lb-test:8687"
任何人都可以帮助我简化此问题。
解决方法
使用这些注释时,必须将它们设置为数字(整数)值。例如:
ingress.kubernetes.io/proxy-stream-timeout: "3600"
代替:
ingress.kubernetes.io/proxy-stream-timeout: 3600s
如果您需要更多有关超时选项的详细信息,请检查official docs。
,这是不对的。不在 tcp-cm 中,也不作为注释。 添加为数据 --> 代理流超时:3600 到另一个配置映射。
,注解在 tcp-services 中无法用于更新 nginx 中的 proxy_timeout
参数。
您需要更新配置映射 ingress-nginx-controller
并在 proxy-stream-timeout: "3600s"
下添加 data
。 (以下示例)
apiVersion: v1
kind: ConfigMap
metadata:
name: ingress-nginx-controller
namespace: ingress-nginx
labels:
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
data:
proxy-connect-timeout: "10"
proxy-read-timeout: "120"
proxy-send-timeout: "120"
proxy-stream-timeout: "3600s"
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。