如何为Rancher2.5的ingress添加configmap
rancher默认会安装一个rke2-ingress-nginx在kube-system命名空间下,之后无论是rancher本体还是其他pod的负载均衡全靠这一个pod。而rke2-ingress-nginx的nginx.conf不但是动态生成的,也是由lua驱动的。这些配置文件和lua脚本可以在pod中的 /etc/nginx/ 下找到。 rke2-ingress-nginx pods 之前我都不知道confignmap的正确附加方法,只能通过在每一个负载均衡添加注释来改变nginx配置,这是非常不优雅而且繁琐的。后来我还试过在rke2-ingress-nginx直接添加注释,然后用kubectl重建pod,直接把nginx炸了。显然,这种操作方式是错的不能再错了,索性我现在发现了如何正确为rancher的ingress-nginx附加configmap。 关于configmap 当使用configmap或者负载均衡注释时,一切都是热更新的,改完不用重启pod,即时生效。不用再担心炸集群,也不用担心服务的可用性。即使配置错误也不会发生什么坏事,只是新配置无法生效而已,不过rancher的web ui在这方面没有错误提示。 ingress-nginx的configmap文档: https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/configmap/ 使用configmap 当在负载均衡的注释中添加配置时,需要在key中添加前缀 nginx.ingress.kubernetes.io/ ,而且不是所有配置项都被支持,参见ingress-nginx注释项文档: https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/annotations/ 为rke2-ingress-nginx附加配置映射(configmap)必须使用指定的名称,这个名称可以在 System/kube-system/rke2-ingress-nginx-controller 工作负载的 入口/命令 中找到 如图所示,rancher2.5的rke2-ingress-nginx的configmap是kube-...