1.源码二进制方式安装 Helm + 配置 bash 命令补全
root@master \~# wget https://get.helm.sh/helm-v4.1.3-linux-amd64.tar.gz #下载 Helm 二进制压缩包(Helm 是 K8s 包管理器)
root@master \~# tar zxf helm-v4.1.1-linux-amd64.tar.gz
root@master \~# ls
linux-amd64
root@master linux-amd64# cp -p helm /usr/local/bin/ #/usr/local/bin/系统全局 PATH 目录,放在这里任意目录敲 helm 命令都能识别,把 helm 二进制程序放到全局命令路径,完成 helm 主体安装
root@master linux-amd64# echo "source <(helm completion bash)" >> ~/.bashrc
helm completion bash:helm 生成 bash 命令补全脚本
source <()进程替换,直接加载补全脚本
>> ~/.bashrc:追加写入用户家目录的 bash 配置文件,永久生效
#实现 helm 命令 Tab 自动补全
root@master linux-amd64# source ~/.bashrc
#重新加载 bash 配置文件,不用重新登录终端,立刻启用补全功能
2.在线安装 helm-push 插件
root@master \~# helm plugin install https://github.com/chartmuseum/helm-push --verify=false root@master \~# helm plugin list
NAME VERSION TYPE APIVERSION PROVENANCE SOURCE
cm-push 0.11.1 cli/v1 v1
3.添加仓库与安装chart生成 release
root@master \~# helm repo add bitnami https://charts.bitnami.com/bitnami # 添加 bitnami 仓库(最常用的Helm公共仓库)
root@master \~#helm repo list # 查看本地已经添加的仓库
root@master \~# chart helm search repo bitnami/nginx # 在本地仓库索引搜索bitnami下的nginx相关
root@master \~# helm search repo bitnami/nginx -l #-l=--versions,列出这个 chart所有可用版本,默认只展示最新版
root@master \~# helm install webserver bitnami/nginx
#webserver:Release 名称(本次部署实例名) #bitnami/nginx:chart 包 #安装后自动生成 Deployment、Service 等一堆资源
helm status webserver #查看这个 release 的状态、版本、NOTES 信息
helm list -A #列出当前命名空间下所有 release;加 -A 看全命名空间
helm uninstall webserver #卸载 release,删除这一套 K8s 资源;卸载后helm list就看不到了
helm pull bitnami/nginx #指定版本下载 helm pull bitnami/nginx --version 23.0.3
helm pull:把 chart 压缩包.tgz下载到本地,不安装,适合离线部署、改 values 自定义
helm install:直接从仓库在线安装 chart;helm pull只是下载 chart 压缩包到本地,不部署
| 命令 | 作用 |
|---|---|
| helm repo add | 添加 chart 仓库别名和地址 |
| helm repo list | 查看已添加仓库 |
| helm search repo xxx | 本地索引搜索 chart |
| helm search repo xxx -l | 列出 chart 全部版本 |
| helm install 名字 repo/chart | 安装,生成 release |
| helm status 名字 | 查看 release 详情 |
| helm list | 查看 release 列表 |
| helm uninstall 名字 | 卸载 release |
| helm pull repo/chart | 下载 chart 包到本地 |
4.通过pull把 chart 包下载到本地,不安装,后续本地自己安装
root@k8s-master \~# helm list
NAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION
webserver default 1 2026-10-24 00:10:24.212724556 +0800 CST deployed nginx-22.1.1 1.29.1
root@k8s-master \~# helm pull bitnami/nginx --version 22.1.1
root@k8s-master \~# ls
公共 文档 anaconda-ks.cfg ceph-csi-3.17 cri-dockerd ingress-v1.5.1 loadbalancer.yml nginx-22.1.1.tgz webserver.yml
root@k8s-master \~# tar zxf nginx-22.1.1.tgz root@k8s-master \~# cd nginx
root@k8s-master nginx# vim values.yaml #更改参数
13 global:
14 imageRegistry: "reg.timinglee.org"
25 allowInsecureImages: true
292 podSecurityContext:
293 enabled: false
294 fsGroupChangePolicy: Always
295 supplementalGroups: \[\]
296 fsGroup: 1001
317 containerSecurityContext:
318 enabled: false
319 seLinuxOptions: {}
320 runAsUser: 1001
321 runAsGroup: 1001
322 runAsNonRoot: true
323 privileged: false
324 readOnlyRootFilesystem: false
325 allowPrivilegeEscalation: false
326 capabilities:
327 drop: "ALL"
328 seccompProfile:
329 type: "RuntimeDefault"
root@master nginx# helm install webserver /root/nginx
#告诉 helm:不要去 bitnami 仓库下载,直接读取本地这个目录里的 chart,使用你修改后的 values.yaml,部署 release 名字叫 webserver,如果此时还写 helm install webserver bitnami/nginx,它又会去远程拉原版 chart,你刚才改的全部失效
tips:方式A:远程仓库chart,用默认values,不读取本地修改 helm install webserver bitnami/nginx 方式B:本地chart目录,加载你改过的values.yaml(你现在用的) helm install webserver /root/nginx
root@master nginx# helm upgrade webserver /root/nginx #更新
root@master nginx# helm rollback webserver 1 #回退