heml学习笔记

仓库的管理和维护方法请参考官网文档 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 文件

原文地址:https://www.cnblogs.com/testzcy/p/13428037.html