统信UOS下推荐优先使用APT安装Helm(v3+),其次可选阿里云镜像源手动安装;需配置Azure/Bitnami国内Chart仓库、启用bash补全,并验证kubeconfig连通性后部署Nginx Ingress验证全流程。

一、使用国内镜像源下载Helm二进制包
统信UOS默认网络环境可能无法直连GitHub等境外源,直接curl官方脚本易失败。采用阿里云或Azure中国镜像源可稳定获取Helm v3.x最新稳定版。
1、创建临时工作目录并进入:
mkdir -p ~/helm-install && cd ~/helm-install
2、从阿里云镜像站下载Helm v3.14.4 Linux AMD64版本:
wget https://mirrors.aliyun.com/helm/v3.14.4/helm-v3.14.4-linux-amd64.tar.gz
3、解压并提取helm二进制文件:
tar -xzf helm-v3.14.4-linux-amd64.tar.gz && sudo cp linux-amd64/helm /usr/local/bin/
4、验证安装结果:
helm version
若输出中显示Version:"v3.14.4"且无报错,则二进制安装完成。
二、通过APT仓库安装Helm(适用于UOS 20/1060+版本)
统信UOS 20及以上版本已将Helm纳入官方社区源,可利用apt进行标准化安装与后续升级管理,避免手动维护路径和权限问题。
1、更新APT索引并确认Helm是否已在源中可用:
sudo apt update && apt list | grep -i helm
2、安装helm及其依赖项:
sudo apt install -y helm
3、检查安装路径与权限:
which helm && ls -l $(which helm)
若返回路径为/usr/bin/helm且属主为root、权限为755,则APT安装成功。
三、配置Helm国内Chart仓库并启用自动补全
Helm默认使用Google托管的仓库,国内访问极慢甚至超时。需替换为Azure中国镜像源,并配置bash自动补全以提升操作效率。
1、移除默认仓库(如存在):
helm repo remove stable
2、添加Azure中国Kubernetes Charts仓库:
helm repo add azure-charts http://mirror.azure.cn/kubernetes/charts/
3、添加Bitnami中国镜像仓库(增强应用覆盖):
helm repo add bitnami https://charts.bitnami.com/bitnami
4、更新所有仓库索引:
helm repo update
5、设置Bash命令补全:
helm completion bash | sudo tee /etc/bash_completion.d/helm > /dev/null
执行后重启终端或运行source /etc/bash_completion.d/helm即可生效。
四、验证Helm与Kubernetes集群连通性
Helm v3无需Tiller服务端,完全依赖kubectl上下文访问集群。必须确保当前用户已正确配置kubeconfig,否则所有helm命令将报错“connection refused”或“no configuration”。
1、确认kubectl可正常访问集群:
kubectl get nodes -o wide
2、检查默认context指向的集群状态:
kubectl config current-context
3、在当前context下测试helm list(应返回空列表而非错误):
helm list --all-namespaces
若出现Error: Kubernetes cluster unreachable,说明kubeconfig未就绪,需先执行kubeadm init后生成的admin.conf配置步骤。
五、部署首个Helm Release:Nginx Ingress Controller
以实际部署验证Helm全流程能力。选择nginx-ingress chart可同时检验网络插件兼容性与RBAC策略适配性,适用于UOS常见内核版本(5.10+)。
1、创建独立命名空间:
kubectl create namespace ingress-nginx
2、使用Helm安装nginx-ingress(指定国内镜像):
helm upgrade --install ingress-nginx ingress-nginx/ingress-nginx --namespace ingress-nginx --set controller.image.registry=registry.cn-hangzhou.aliyuncs.com/google_containers --set defaultBackend.image.registry=registry.cn-hangzhou.aliyuncs.com/google_containers
3、等待Pod就绪:
kubectl -n ingress-nginx get pods -w
当所有Pod状态变为Running且READY列为1/1时,表示Ingress Controller已成功部署。










