云原生|Helm理解和使用

Helm chart是创建一个应用实例的必要配置组,也就是一堆Spec。配置信息被归类为模版(Template)和值(Value),这些信息经过渲染最终生成对象。所有配置信息可以被打包进一个可以发布的对象中,一个release就是一个有特定配置的chart的实例。
Helm分为Helm client和Helm library两部分。
Helm client

  • 本地chart开发
  • 管理repository
  • 管理release
  • 与helm library交互,发送需要安装的chart,请求升级或者卸载存在的release
Helm library
  • 负责与APIServer交互,基于chart和configuration创建一个release
  • 把chart安装进kubernetes,并提供相应的release对象
  • 升级和卸载
  • Helm采用Kubernetes存储所有配置信息,无需自己的数据库
接下来通过实际例子看看如何使用helm部署应用,首先是下载安装helm,helm安装成功后,创建一个名叫demo的chart,如下图所示:
云原生|Helm理解和使用
文章图片

默认会生成两个文件Chart.yaml和values.yaml,还有两个文件夹charts、templates。
其中Templates中包含了一下典型对象的yaml文件,当template和values中定义的变量值相结合的时候,就生成了有效的kubernetes manifest文件。实际项目中结合项目情况编写template中的yaml文件和定义values.yaml中的值,将配置类信息例如image version等放到values.yaml中统一管理。
云原生|Helm理解和使用
文章图片

helm install命令安装上面创建的demo chart,可以看到启动了一个新的pod,因为template里面默认定义了deployment文件。
云原生|Helm理解和使用
文章图片
除安装命令外,常用的还有如下命令:
helm repo list
helm repo add xx
helm repo upgrade
云原生|Helm理解和使用
文章图片

已经安装了的release,还可以进行查看和清理
helm list
helm uninstall releaseName
云原生|Helm理解和使用
文章图片

【云原生|Helm理解和使用】以上就是对helm的简要介绍,helm使用非常简单,如果要了解更多信息,可查看官网资料。

    推荐阅读