Helm安装NGINX Ingress Controller自定义values参数未生效问题咨询
问题原因及解决办法
1. 你用错了验证命令
helm show values ingress-nginx/ingress-nginx 输出的是Chart仓库里的默认配置值,不是你已安装的release实际生效的配置。所以不管你怎么自定义安装,这个命令都会返回默认的false。
2. 正确的验证方式
方式一:查看已安装release的实际配置
执行以下命令查看安装时生效的values:
helm get values ingress-nginx -n ingress-nginx
如果配置生效,会输出:
controller: allowSnippetAnnotations: true
方式二:检查Ingress Controller的ConfigMap
Ingress Controller的配置会存储在对应ConfigMap中,执行:
kubectl get configmap ingress-nginx-controller -n ingress-nginx -o yaml | grep allowSnippetAnnotations
配置生效的话,会显示allowSnippetAnnotations: "true"。
方式三:查看Pod内的NGINX配置
进入Ingress Controller Pod查看实际加载的NGINX配置:
# 先获取Pod名称 kubectl get pods -n ingress-nginx # 进入Pod查看配置 kubectl exec -it <你的pod名称> -n ingress-nginx -- cat /etc/nginx/nginx.conf | grep allow-snippet-annotations
生效时会看到allow-snippet-annotations: true;的内容。
3. 确认你的安装操作没问题
你的values.yml格式正确,安装命令helm install ingress-nginx ingress-nginx/ingress-nginx -n ingress-nginx -f values.yml也无问题,只要安装时没有报错,配置应该已经生效,只是之前的验证方式不对。
如果用上述方法验证后仍为false,可以尝试重新安装:
# 卸载现有release helm uninstall ingress-nginx -n ingress-nginx # 重新安装,确保values.yml路径正确 helm install ingress-nginx ingress-nginx/ingress-nginx -n ingress-nginx -f ./values.yml
内容的提问来源于stack exchange,提问作者Héctor Valls
相关产品推荐
相关产品推荐

