使用Helm 3安装stable/nfs-server-provisioner遇问题求解决方案
问题描述
环境信息
Helm版本:
/home/ravi>helm version version.BuildInfo{Version:"v3.5.4", GitCommit:"1b5edb69df3d3a08df77c9902dc17af864ff05d1", GitTreeState:"clean", GoVersion:"go1.15.11"}
遇到的错误
- 首次安装nfs-server-provisioner失败:
/home/ravi>helm install nfs-release-1 stable/nfs-server-provisioner --namespace ricinfra Error: failed to download "stable/nfs-server-provisioner" (hint: running `helm repo update` may help)
- 添加旧stable仓库失败:
/home/ravi>helm repo add stable https://kubernetes-charts.storage.googleapis.com Error: repo "https://kubernetes-charts.storage.googleapis.com" is no longer available; try "https://charts.helm.sh/stable" instead
- 切换新stable仓库后安装仍失败:
/home/ravi>helm install nfs-release-1 stable/nfs-server-provisioner --namespace ricinfra WARNING: This chart is deprecated Error: Kubernetes cluster unreachable: error loading config file "/root/.kube/config": open /root/.kube/config: permission denied
- Helm仓库更新时local仓库连接失败:
/home/ravi>helm repo update Hang tight while we grab the latest from your chart repositories... ...Unable to get an update from the "local" chart repository (http://127.0.0.1:8879/charts): Get "http://127.0.0.1:8879/charts/index.yaml": dial tcp 127.0.0.1:8879: connect: connection refused ...Successfully got an update from the "stable" chart repository Update Complete. ⎈Happy Helming!⎈
解决方案
1. 修复Kubernetes集群连接权限问题
错误核心是当前用户ravi无权读取/root/.kube/config,可通过以下两种方式解决:
- 方式一:复制kubeconfig到当前用户目录
sudo cp /root/.kube/config /home/ravi/.kube/config sudo chown ravi:ravi /home/ravi/.kube/config chmod 600 /home/ravi/.kube/config
执行完后重新运行安装命令即可,Helm会自动读取当前用户的kubeconfig文件。
- 方式二:临时指定kubeconfig路径执行安装
如果不想复制文件,可直接在安装命令中指定kubeconfig路径,需加sudo获取权限:
sudo helm install nfs-release-1 stable/nfs-server-provisioner --namespace ricinfra --kubeconfig /root/.kube/config
2. 替换已废弃的stable/nfs-server-provisioner
安装时的WARNING: This chart is deprecated说明该Chart已停止维护,建议使用官方推荐的替代项目nfs-subdir-external-provisioner:
- 移除旧stable仓库(可选):
helm repo remove stable
- 添加替代项目的仓库:
helm repo add nfs-subdir-external-provisioner https://kubernetes-sigs.github.io/nfs-subdir-external-provisioner/ helm repo update
- 安装替代Chart:
helm install nfs-release-1 nfs-subdir-external-provisioner/nfs-subdir-external-provisioner --namespace ricinfra
如果需要配置NFS服务器地址和共享路径,用--set参数指定:
helm install nfs-release-1 nfs-subdir-external-provisioner/nfs-subdir-external-provisioner --namespace ricinfra --set nfs.server=你的NFS服务器IP --set nfs.path=/共享目录路径
3. 解决local仓库更新失败问题
local仓库指向的本地服务未运行,导致更新报错,若不需要这个仓库直接移除即可:
helm repo remove local
之后再执行helm repo update就不会出现连接拒绝的错误。
内容的提问来源于stack exchange,提问作者myquest5 sh
相关产品推荐
相关产品推荐

