成功最有效的方法就是向有经验的人学习!

nginx-ingress的configmap配置修改方法

业务场景及诉求

用户需要使用开源的ingress-controller作为集群的负载分发入口,并希望对nginx-ingress进行定制化参数配置,可以参考如下配置方法。

【配置方法】:

1.1、常用的配置参数表如下:

名称
修改nginx-controller日志输出格式:
log-format-upstream ‘{"time": "$time_iso8601", "remote_addr": "$proxy_protocol_addr", "x-forward-for": "$proxy_add_x_forwarded_for", "request_id": "$req_id","remote_user": "$remote_user", "bytes_sent": $bytes_sent, "request_time": $request_time, "status":$status, "vhost": "$host", "request_proto": "$server_protocol", "path": "$uri", "request_query": "$args", "request_length": $request_length, "duration": $request_time,"method": "$request_method", "http_referrer": "$http_referer","http_user_agent": "$http_user_agent" }’
设置日志标头字段以标识客户端的原始IP地址:
forwarded-for-header "X-Forwarded-For"

上述是经常用的参数,详细参数说明,参考连接:

https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/configmap/#forwarded-for-header

1.2、配置思路如下:
需要知道nginx-ingress模板安装的命名空间,并找到服务对应的默认configmap的名字和namespaces,如下所示:

命令:

kubectl get deploy –all-namespaces | grep nginx-ingress-controller | awk ‘{print $2}’

查询到服务和命名空间

查看configmap的配置注入信息

命令:

kubectl get deploy nginx-cyd-nginx-ingress-controller –ndefault –oyaml | grep configmap –C5

可以看到默认的nginx-ingress controller对应的configmap配置(controller的服务名)

1.3、Configmap参数注入
按照上图的信息在对应的命名空间下,建立同名的configmap文件,(实例需要在defalut下建立名字为:nginx-cyd-nginx-ingress-controller

Yaml文件需要编写成如下格式

apiVersion: v1
data:
  keys: values------------------------所有的注入信息在此注入
kind: ConfigMap
metadata:
  name: nginx-cyd-nginx-ingress-controller
  namespace: defalut
  labels:
    app.kubernetes.io/name: ingress-nginx
    app.kubernetes.io/part-of: ingress-nginx

常用配置如下:

apiVersion: v1
您暂时无权查看此隐藏内容!
内容查看本文隐藏内容查看需要消耗3.5土豆币,请先
土豆币按需购买,不退换,请考虑清楚后购买。
赞(1) 打赏
未经允许不得转载:陈桂林博客 » nginx-ingress的configmap配置修改方法
分享到

大佬们的评论 抢沙发

全新“一站式”建站,高质量、高售后的一条龙服务

微信 抖音 支付宝 百度 头条 快手全平台打通信息流

橙子建站.极速智能建站8折购买虚拟主机

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续给力更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫打赏

微信扫一扫打赏

登录

找回密码

注册