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

使用Helm部署Ingress Nginx失败:Webhook服务找不到求助

解决Helm依赖部署ingress-nginx时的Webhook服务找不到问题

方案一:移除服务名的aloco前缀

Helm默认会给依赖Chart的资源添加主Chart名称作为前缀,可通过配置依赖Chart的fullnameOverride参数覆盖默认命名,让ingress-nginx的服务名称恢复为原生名称:

方法1:修改主Chart的values.yaml

在主Chart的values.yaml中添加以下配置:

ingress-nginx:
  # 覆盖控制器服务的全名
  fullnameOverride: "ingress-nginx-controller"
  admissionWebhooks:
    patch:
      # 覆盖准入服务的全名
      fullnameOverride: "ingress-nginx-controller-admission"

之后重新执行Helm升级:

helm upgrade --install aloco .

方法2:部署时通过--set参数指定

无需修改配置文件,直接在Helm命令中传入参数:

helm upgrade --install aloco . \
  --set ingress-nginx.fullnameOverride=ingress-nginx-controller \
  --set ingress-nginx.admissionWebhooks.patch.fullnameOverride=ingress-nginx-controller-admission

执行后,服务名称会变为ingress-nginx-controller和ingress-nginx-controller-admission,与Webhook期望的地址匹配。

方案二:修改Webhook配置指向带前缀的服务

直接修改ingress-nginx创建的ValidatingWebhookConfiguration,让它指向带aloco前缀的准入服务:

  1. 编辑Webhook配置:
kubectl edit validatingwebhookconfigurations validate.nginx.ingress.kubernetes.io
  1. 找到clientConfig.service字段,修改name和namespace为实际值:
clientConfig:
  service:
    name: aloco-ingress-nginx-controller-admission
    namespace: default
    path: /networking/v1/ingresses
    port: 443
  1. 保存退出后,Webhook会自动使用新的服务地址,此时可重新执行Helm升级。

两种方案对比

  • 方案一:符合Helm依赖管理规范,后续升级不会再次出现同名问题,推荐使用。
  • 方案二:属于临时修改,若后续Helm升级ingress-nginx,Webhook配置可能被覆盖,需重新调整。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 11:22:42