gpt4 book ai didi

nginx - 在 Kubernetes ingress Nginx 中编辑 max_conns?

转载 作者:行者123 更新时间:2023-12-02 11:35:58 29 4
gpt4 key购买 nike

我试图在我的 Nginx ingress 中限制与服务器的并发连接数。

Ngnix 入口是否支持 max_conns?我该如何编辑或添加它?

max_conns=number limits the maximum number of simultaneous active connections to the proxied server (1.11.5). Default value is zero, meaning there is no limit. If the server group does not reside in the shared memory, the limitation works per each worker process.

http://nginx.org/en/docs/http/ngx_http_upstream_module.html#upstream

使用 max_conn 的 Nginx conf 示例

upstream backend {
server backend1.example.com max_conns=3;
server backend2.example.com;}

谢谢

最佳答案

因此,为了添加 max_conns(或入口配置映射不支持的任何其他参数),需要做的是更改模板。

像这样更改模板/etc/nginx/template/nginx.tmpl:

upstream {{ $upstream.Name }} {
# Load balance algorithm; empty for round robin, which is the default
{{ if ne $cfg.LoadBalanceAlgorithm "round_robin" }}
{{ $cfg.LoadBalanceAlgorithm }};
{{ end }}

{{ if $upstream.UpstreamHashBy }}
hash {{ $upstream.UpstreamHashBy }} consistent;
{{ end }}

{{ if (gt $cfg.UpstreamKeepaliveConnections 0) }}
keepalive {{ $cfg.UpstreamKeepaliveConnections }};
{{ end }}

{{ range $server := $upstream.Endpoints }}server {{ $server.Address | formatIP }}:{{ $server.Port }} max_fails={{ $server.MaxFails }} fail_timeout={{ $server.FailTimeout }} max_conns=1;
{{ end }}
}

(您可以从 pod nginx-ingress-controller 获取完整文件,只需在 pod 上运行 bash 并 cat 即可)会成功的。现在使用本地 nginx.tmpl 创建一个 configmap:

kubectl create configmap nginx-template --from-file=nginx.tmpl=/localpath/nginx.tmpl

然后使用此 yaml 将卷挂载到部署中:

        volumeMounts:
- mountPath: /etc/nginx/template
name: nginx-template-volume
readOnly: true
volumes:
- name: nginx-template-volume
configMap:
name: nginx-template
items:
- key: nginx.tmpl
path: nginx.tmpl
  • 我需要手动重启我的 NGINX 入口,但我编辑了 ReplicationController,因为我没有部署(我猜是因为我在 minikube 上)

关于nginx - 在 Kubernetes ingress Nginx 中编辑 max_conns?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48659392/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com