Helm 将上述对象都看作一个程序包内的部分,当我们想要对程序执行操作的时候,不需要告诉helm 我们要对哪个对象进行变更,只用传入程序名称,Helm 会帮助我们对程序下的每个对象执行相应的操作。
这个包含了一组yaml 文件的程序包,就叫做Helm Chart。Chart 是一个描述Kubernetes 相关资源的文件集合,它的格式如下:
开发时通常不会将name 硬编码在资源中,用户可以通过插入发布名称来生成name 字段。
所以我们的job.yaml 就变为了:
模板命令{{.Release.Name}}将发布名称注入了模板。值作为一个命名空间对象传给了模板,用点(.)分隔每个命名空间的元素。
在执行helm install 命令时,模版渲染引擎会将括在{{和}}之间的模版命令替换为values.yaml 中定义的值或用户通过--set 设置的值,并将渲染后的文件发送到templates/目录中,然后收集结果并发送给Kubernetes。
可以通过helm 命令对chart 执行相应的操作:
还能用Helm 创建自己的charts,也可以从Helm仓库中下载。
社区的Helm Chart仓库位于Artifact Hub,可以下载其他人上传的chart 到本地使用,也可以将自己制作的chart 上传到仓库中。同时Helm 也支持创建并运行私有仓库,供个人和组织内部使用。
以上内容摘自《SREWorks 云原生数智运维工程实践》电子书,点击https://developer.aliyun.com/ebook/download/7784可下载完整版。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。