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

中国区K8s集群Helm安装4.0.0版本ingress-nginx失败咨询

问题根因

Ingress-Nginx 4.0.0版本默认依赖的容器镜像托管在registry.k8s.io域名下,中国大陆网络环境无法正常连通该域名,导致安装流程pre-install阶段运行的kube-webhook-certgen作业拉取镜像超时,最终触发安装失败报错。3.0.0全系列版本未依赖该域名下的镜像资源,因此可以正常完成安装。

可行解决方法
  • 方法1:安装时通过Helm参数覆盖默认镜像地址(最简便)
    执行安装命令时追加参数,将默认的境外镜像地址替换为国内可正常访问的镜像源对应镜像,参考命令如下:
    helm install [自定义发布名] ingress-nginx/ingress-nginx --version 4.0.0 \
    --set controller.image.registry=registry.cn-hangzhou.aliyuncs.com \
    --set controller.image.image=google_containers/nginx-ingress-controller \
    --set controller.image.tag=v1.0.0 \
    --set admissionWebhooks.patch.image.registry=registry.cn-hangzhou.aliyuncs.com \
    --set admissionWebhooks.patch.image.image=google_containers/kube-webhook-certgen \
    --set admissionWebhooks.patch.image.tag=v1.0@sha256:64d8c73dca93a6e47da8e9e73d67c8908d9b709207e03b0949d94d37827b2e1c
    
    执行前确认镜像tag与4.0.0版本Chart要求的版本一致,避免出现版本兼容问题。
  • 方法2:离线环境提前导入镜像
    如果集群无法连通公网,可先在可访问registry.k8s.io的网络环境下拉取对应镜像,导出为tar包后传输到所有集群节点,通过容器运行时导入本地镜像库,安装时追加参数--set imagePullPolicy=IfNotPresent即可跳过远程拉取流程。
    镜像拉取导出参考命令(以containerd运行时为例):
    ctr pull registry.k8s.io/ingress-nginx/kube-webhook-certgen@sha256:64d8c73dca9
    ctr export kube-webhook-certgen.tar registry.k8s.io/ingress-nginx/kube-webhook-certgen@sha256:64d8c73dca9
    
  • 方法3:配置容器运行时镜像加速
    在所有集群节点的容器运行时(docker/containerd)配置中,为registry.k8s.io仓库添加可用的国内镜像加速规则,配置完成后重启对应容器运行时服务,再重新执行Helm安装命令即可。

注意:执行安装操作前先运行helm repo update更新本地ingress-nginx仓库的索引缓存,避免本地缓存的旧版本Chart信息导致参数覆盖不生效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 19:48:30