仓库的管理和维护方法请参考官网文档 https://docs.helm.sh
运行 Helm 的节点也应该是可以正常使用 kubectl 命令的主机
运行“ helm version ,,命令即可显示客户端和服务端的版本号,若两者均显示正常,则表示安装成功
Tiller 将数据存储于 ConfigMap 资源中,
更新仓库元信息:helm repo update
列出仓库中Charts的列表: helm search (helm search redis)
打印出指定的 Charts 的详细信息: helm inspect
列出已经安装生成的 Release : helm list
删除release:helm delete redis
升级或回滚应用,要分别使用“ helm upgrade 和“ helm rollback
helm install 命令支持基于多种安装源进行应用部署,这包括 Charts 仓库、本地的 Charts 压缩包 、本地 Charts 目录,甚至是指定某个 Charts 的 URL 。
修改了依赖关系后需要执行“ helm dependency update ”命令,执行后会自动下载被依赖的 Charts 至 charts/ 目录中 。
生成一个空 Charts:helm create mychart
确认修改后的 Charts 是否格式良好: helm lint
用helm install 调试运行以查看由 Charts 定义的容器化应用是否能够正确部署 : helm install --name myapp --dry run debug . /mychart set service . type =NodePort
移除命令 中的“一dry-run ”选项后再次运行命令即可完成应用的部署:
通过“ helm package 命令将其打包为 tar 格式后分享给团队 :helm package ./mychart
仓库的管理需要使用“ helm repo”命令进行,如添加仓库:helm repo add incubator http : //storage.googleapis.com/kubernetes - charts-incubator
所有可用的仓库列表 : helm repo list
使用“ helm repo update ”命令获取最新的仓库元数据信息
删除指定的仓库配置: helm repo remove <REPO_NAME>
==========
查看可安装的 chart: helm search
查看 Helm 仓库:helm repo list
NAME URL
stable http://ai-image.jd.com/chartrepo/chart
local http://127.0.0.1:8879/charts
Helm 安装时已经默认配置好了两个仓库:stable 和 local。stable 是官方仓库,local 是用户存放自己开发的 chart 的本地仓库。
可以通过 helm repo add 添加更多的仓库
安装 chart 也很简单,执行如下命令可以安装 MySQL:
helm install stable/mysql
显示已经部署的 release: helm list
删除 release: helm delete
查看chart的状态:helm status my
release 发布后可以执行 helm upgrade 对其升级,通过 --values 或 --set应用新的配置,如:
helm upgrade --set imageTag=5.7.15 my stable/mysql
helm history 可以查看 release 所有的版本。通过 helm rollback 可以回滚到任何版本
指定自己的 values 文件:
helm install --values=myvalues.yaml mysql
执行 helm create mychart 的命令创建 chart mychart
Helm 提供了 debug 的工具:helm lint 和 helm install --dry-run --debug。
helm lint 会检测 chart 的语法,报告错误以及给出建议。
如:helm lint mychart
helm install --dry-run --debug 会模拟安装 chart,并输出每个模板生成的 YAML 内容,如:
helm install --dry-run mychart --debug
Helm 采用了 Go 语言的模板来编写 chart
randAlphaNum、b64enc、quote 都是 Go 模板语言支持的函数,函数之间可以通过管道 | 连接。
{{ randAlphaNum 10 | b64enc | quote }} 的作用是首先随机产生一个长度为 10 的字符串,然后将其 base64 编码,最后两边加上双引号。
Chart 和 Release 是 Helm 预定义的对象,每个对象都有自己的属性,可以在模板中使用
Values 也是预定义的对象,代表的是 values.yaml 文件