You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ingress Controller禁用snippet,如何通过Helm开启该功能?

解决NGINX Ingress Controller启用Server Snippet的问题

错误原因

你遇到的报错是因为NGINX Ingress Controller默认禁用了snippet类注解的使用,准入Webhook会拦截包含nginx.ingress.kubernetes.io/server-snippet的Ingress配置。

正确的Helm升级命令

你之前的命令错误地将allow-snippet-annotations配置到了Service注解中,这个参数应该作为Ingress Controller自身的配置项来设置。正确的Helm升级命令如下:

helm upgrade --namespace ingress-nginx ingress-nginx ingress-nginx/ingress-nginx \
  --set controller.config.allow-snippet-annotations=true \
  --wait

操作步骤

  1. 执行上述Helm命令,更新Ingress Controller的配置,允许使用snippet注解
  2. 等待Ingress Controller的Pod重启完成(通过kubectl get pods -n ingress-nginx查看状态)
  3. 重新应用你的Ingress配置文件:
kubectl apply -f app-ingress.yml

非Helm安装的补充说明

如果你的Ingress Controller不是通过Helm安装的,直接修改对应的ConfigMap(默认名称为ingress-nginx-controller):

apiVersion: v1
kind: ConfigMap
metadata:
  name: ingress-nginx-controller
  namespace: ingress-nginx
data:
  allow-snippet-annotations: "true"
  # 保留其他已有配置...

修改后执行kubectl apply -f <configmap-file.yml>,然后重启Ingress Controller的Pod:

kubectl rollout restart deployment ingress-nginx-controller -n ingress-nginx

内容的提问来源于stack exchange,提问作者ossentoo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.08 17:02:23