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

Helm安装Rancher Chart时镜像拉取沿用旧仓库问题咨询

Helm安装Rancher时systemDefaultRegistry清空后仍沿用旧镜像仓库的解决方法

问题现象

通过Helm安装Rancher Chart时,values.yaml中的systemDefaultRegistry用于指定默认镜像仓库,但出现以下异常:

  • 配置systemDefaultRegistry: mydefaultregistry.com → 正常使用该仓库拉取镜像
  • 清空/注释/删除该配置项重新安装 → 系统仍沿用之前的mydefaultregistry.com
  • 重新配置systemDefaultRegistry: apple-registry.com → 切换为该新仓库
  • 再次清空配置 → 又沿用apple-registry.com,始终无法回到Rancher默认镜像仓库

原因分析

  1. Helm的Release会存储之前的配置值,当values中未明确设置该参数时,Helm会自动复用旧值,不会主动重置为Chart默认值;
  2. Rancher部署后,部分核心配置会持久化到Kubernetes的ConfigMap/Secret中,即使Helm更新配置,这些持久化资源不会自动同步重置。

解决方法

方法1:显式强制覆盖为空值

在Helm安装或升级命令中,直接用--set显式将systemDefaultRegistry设为空字符串,强制覆盖旧值:

helm upgrade --install rancher rancher-stable/rancher \
  --namespace cattle-system \
  --set systemDefaultRegistry=""

此方法优先覆盖Helm Release中存储的旧配置,让Chart使用默认镜像仓库。

方法2:清理持久化配置并重启Pod

如果方法1无效,说明Rancher的ConfigMap中还留存着旧配置,需要手动清理后重启Pod:

  1. 删除Rancher的核心配置ConfigMap:
kubectl delete configmap cattle-config -n cattle-system
  1. 重启Rancher Deployment,让其重新生成默认配置:
kubectl rollout restart deployment rancher -n cattle-system

方法3:彻底重新部署(极端场景)

若上述方法均无效,可彻底卸载现有Rancher并重新安装(注意备份集群数据):

  1. 卸载Helm Release:
helm uninstall rancher -n cattle-system
  1. 删除相关命名空间及残留资源:
kubectl delete namespace cattle-system
# 可选:清理Rancher相关CRD(谨慎操作,会删除集群配置)
kubectl delete crd clusters.provisioning.cattle.io machinepools.provisioning.cattle.io
  1. 重新安装Rancher:
helm install rancher rancher-stable/rancher --namespace cattle-system --create-namespace

注意事项

  • Helm的--set参数优先级高于values.yaml,显式设置为空能确保覆盖旧值;
  • 清理ConfigMap前建议备份相关配置,避免意外;
  • 彻底重新部署前务必做好集群数据备份,防止资源丢失。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 18:45:08