Helm 介绍


官网:https://v3.helm.sh/zh/docs/

https://helm.sh/
helm 官方的 chart 站点: https://hub.kubeapps.com/
Helm 是 kubernetes的 包管理工具 相当于 linux 环境下的 yum/apt-get 命令
Helm 的首要目标一直是让“从零到 Kubernetes”变得轻松。无论是运维、开发人员、经验丰富的 DevOps 工程师,还是刚刚入门的学生,Helm 的目标是让大家在两分钟内就可以在 Kubernetes 上安装应用程序。
Helm 可以解决的问题:运维人员写好资源文件模板,交给开发人员填写参数即可。

Helm 中的一些概念


(1)helm:命令行客户端工具,主要用于 Kubernetes 应用中的 chart 的 创建、打包、发布和管理。
(2)Chart: helm 程序包 一系列用于描述 k8s 资源相关文件的集合 ,比方说我们部署 nginx,需要deployment 的 yaml,需要 service 的 yaml,这两个清单文件就是一个 helm 程序包,在 k8s 中把这些yaml 清单文件集合叫做 chart 图表。
vlues.yaml 文件为模板中的文件赋值,可以实现我们自定义安装, 如果是chart 开发者需要自定义模板,如果是 chart 使用者只需要修改 values.yaml 即可

repository:存放 chart 图表的仓库,提供部署 k8s 应用程序需要的那些 yaml 清单文件 

chart--->通过 values.yaml 这个文件赋值-->生成 release 实例
helm 也是 go 语言开发的

(3)Release:基于 Chart 的部署实体,一个 chart 被 Helm 运行后将会生成对应的一个 release,将在 k8s 中创建出真实运行的资源对象。

helm 属于 kubernetes 一个项目: 下载地址: https://github.com/helm/helm/releases

总结


helm 把 kubernetes 资源打包到一个 chart 中,制作并完成各个 chart 和 chart 本身依赖关系并利用 chart 仓库实现对外分发,而 helm 还可通过 values.yaml 文件完成可配置的发布,如果 chart 版本更新了,helm 自动支持滚更更新机制,还可以一键回滚,但是不是适合在生产环境使用,除非具有定义自制chart 的能力。

Helm v3 版本变化


2019 年 11 月 13 日,Helm 团队发布 Helmv3 的第一个稳定版本。

v2版本需要安装Tiller,这个是helm的服务端,在v3版本当中将Tiller移除了

该版本主要变化如下:
架构变化:
1、Helm 服务端 Tiller 被删除
2、Release 名称可以在不同命名空间重用
3、支持将 Chart 推送至 Docker 镜像仓库中
4、使用 JSONSchema 验证 chartvalues

安装 Helm v3


K8s 版本支持的各个 helm 版本对照表:

https://helm.sh/zh/docs/topics/version_skew/

[root@xianchaomaster1 ~]# tar zxvf helm-v3.6.3-linux-amd64.tar.gz 
[root@xianchaomaster1 ~]# mv linux-amd64/helm /usr/bin/

#查看 helm 版本:
[root@xianchaomaster1 ~]# helm version
version.BuildInfo{Version:"v3.6.3", GitCommit:"d506314abfb5d21419df8c7e7e68012379db2354", 
GitTreeState:"clean", GoVersion:"go1.16.5"}
Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐