ingress-nginx使用configmap配置不生效

k8s (kubernetes)中ingress-nginx建议采用configmap修改全局配置,可读性更高,更加简单方便。具体具体配置参数可参考官网文档:ConfigMap - Ingress-Nginx Controller

今天第一次尝试修改配置,结果即便手工重启pod也不生效。

最终发现是因为configmap的name不对,cm name必须是ingress-nginx-controller 。

原因是在 descirbe deploy里可以看到启动pod的args里指定了

--configmap=$(POD_NAMESPACE)/ingress-nginx-controller

  Containers:
   controller:
    Image:       k8s.gcr.io/ingress-nginx/controller:v1.1.0
    Ports:       80/TCP, 443/TCP, 8443/TCP
    Host Ports:  80/TCP, 443/TCP, 8443/TCP
    Args:
      /nginx-ingress-controller
      --publish-service=$(POD_NAMESPACE)/ingress-nginx-controller
      --election-id=ingress-controller-leader
      --controller-class=k8s.io/ingress-nginx
      --configmap=$(POD_NAMESPACE)/ingress-nginx-controller
      --validating-webhook=:8443
      --validating-webhook-certificate=/usr/local/certificates/cert
      --validating-webhook-key=/usr/local/certificates/key

下面列出修改proxy-body-size的完整configmap文件:

apiVersion: v1
kind: ConfigMap
metadata:
  name: ingress-nginx-controller

data:
  proxy-body-size: 10m

注意cm里的proxy-body-size指向nginx原始的配置项client_max_body_size, 注意切勿在这里直接使用client_max_body_size,kubect apply -f 后会立即自动生效并应用到每个ingress的站点配置里。

检查是否生效可以采用如下命令:

kubectl --n ingress-nginx  exec -it ingress-nginx-controller-d55f7ddf5-ggsbt -- cat /etc/nginx/nginx.conf |grep body_size

可以看到类似如下结果就说明是修改成功了,默认是1m:

                        client_max_body_size                    10m;
                        client_max_body_size                    10m;
                        client_max_body_size                    10m;
                        client_max_body_size                    10m;
                        client_max_body_size                    10m;
                        client_max_body_size                    10m;
                        client_max_body_size                    10m;
                        client_max_body_size                    10m;
                        client_max_body_size                    10m;

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值