Helm V3 命令参考手册

命令 描述
create 创建一个 chart 并指定名字
install 安装一个 chart
uninstall 卸载一个 release
upgrade 更新一个 release
rollback 回滚之前版本
version 查看 helm 客户端版本
dependency 管理 chart 依赖
get 下载一个 release。可用子命令:all、hooks、manifest、notes、values
history 获取 release 历史
list 列出 release
package 将 chart 目录打包到 chart 存档文件中
pull 从远程仓库中下载 chart 并解压到本地 # helm pull stable/mysql —untar
repo 添加,列出,移出,更新和索引 chart 仓库。可用子命令:add、index、list、remove、update
search 根据关键字搜索 chart。可用子命令:hub、repo
show 查看 chart 详细信息。可用子命令:all、chart、readme、values
status 显示已命名版本的状态
template 本地呈现模板

常用示例

查询

# 查看已部署的 release
helm ls

# 查看指定 release 的状态
helm status <release_name>

# 查看已经移除但保留在历史记录中的 release
helm ls --uninstalled

安装

# 普通安装
helm install <release_name> <chart_path>

# 指定变量安装
helm install --set image.tag=*** <release_name> <chart_path>

更新

# 普通更新
helm upgrade [flag] <release_name> <chart_path>

# 指定文件更新
helm upgrade -f myvalues.yaml -f override.yaml <release_name> <chart_path>

# 指定变量更新
helm upgrade --set foo=bar --set foo=newbar redis ./redis

删除

# 移除 release,不保留历史记录
helm uninstall <release_name>

# 移除 release,保留历史记录
helm uninstall <release_name> --keep-history

# 查看历史记录
helm ls --uninstalled

回滚

helm rollback <release> [revision]

使用 chart 部署一个应用

# 查找 chart
helm search repo mysql

# 查看 chart 信息
helm show values azure/mysql

# 安装包
# 一个 chart 包是可以多次安装到同一个集群中的,每次安装都会产生一个 release, 每个 release 都可以独立管理和升级。
helm install db azure/mysql        # db 是自己指定的 chart 名



# 查看发布状态
helm list
helm status db

kubectl get secret --namespace default db-mysql -o jsonpath="{.data.mysql-root-password}" | base64 --decode; echo

kubectl get Deployment
kubectl get pods,svc -o wide
kubectl get pv,pvc

kubectl exec -it db-mysql-864bfb89bb-rh8m8 /bin/bash
mysql -uroot -pxAn4Rw12RY


# 卸载一个 charts
helm uninstall db
kubectl get pods,svc -o wide

kubectl get pv,pvc
kubectl get deploy
helm list
# 可以看到 mysql 已经卸载完全

安装应用前自定义 chart 配置选项

自定义 chart 配置选项,安装过程中有两种方法可以传递配置数据:
—values (或 -f):指定带有覆盖的 YAML 文件。这可以多次指定,最右边的文件优先。
—set:在命令行上指定替代。如果两者都用,—set 优先级高。

# 注意这个文件里的内容不要和 charts 描述的内容冲突
cat config.yaml        
helm install mysql azure/mysql -f config.yaml
helm ls

Helm Chart

Charts 就是按特定格式组织的目录结构,目录名即为 Charts 名,目录名称本身不包含版本信息。目录结构中除了 charts/ 和 templates/ 是目录之外,其他的都是文件。它们的基本组成如下

https://www.cnblogs.com/shenyuanhaojie/p/16404522.html