开发者社区> 问答> 正文

Helm是怎么做的?

已解决

Helm是怎么做的?

展开
收起
詹姆斯邦德00 2022-10-19 16:52:28 589 0
1 条回答
写回答
取消 提交回答
  • 推荐回答

    Helm 将上述对象都看作一个程序包内的部分,当我们想要对程序执行操作的时候,不需要告诉helm 我们要对哪个对象进行变更,只用传入程序名称,Helm 会帮助我们对程序下的每个对象执行相应的操作。

    这个包含了一组yaml 文件的程序包,就叫做Helm Chart。Chart 是一个描述Kubernetes 相关资源的文件集合,它的格式如下:

    image.png

    开发时通常不会将name 硬编码在资源中,用户可以通过插入发布名称来生成name 字段。

    所以我们的job.yaml 就变为了:

    image.png

    模板命令{{.Release.Name}}将发布名称注入了模板。值作为一个命名空间对象传给了模板,用点(.)分隔每个命名空间的元素。

    在执行helm install 命令时,模版渲染引擎会将括在{{和}}之间的模版命令替换为values.yaml 中定义的值或用户通过--set 设置的值,并将渲染后的文件发送到templates/目录中,然后收集结果并发送给Kubernetes。

    可以通过helm 命令对chart 执行相应的操作:

    image.png

    还能用Helm 创建自己的charts,也可以从Helm仓库中下载。

    社区的Helm Chart仓库位于Artifact Hub,可以下载其他人上传的chart 到本地使用,也可以将自己制作的chart 上传到仓库中。同时Helm 也支持创建并运行私有仓库,供个人和组织内部使用。

    以上内容摘自《SREWorks 云原生数智运维工程实践》电子书,点击https://developer.aliyun.com/ebook/download/7784可下载完整版。

    2022-10-19 17:38:58
    赞同 展开评论 打赏
来源圈子
更多
收录在圈子:
阿里云开发者社区官方技术圈,用户产品功能发布、用户反馈收集等。
问答排行榜
最热
最新

相关电子书

更多
GitOps:Kubernetes多集群环境下的高效CICD实践 立即下载
低代码开发师(初级)实战教程 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载