首页 > kubernetes(k8s) > helm常用命令和实例
2019
10-25

helm常用命令和实例

Helm使得对软件进行版本化,打包,发布,以及对部署,删除,升级甚至回滚都非常容易。

Helm 包含两个组件:Helm 客户端和 Tiller 服务器,如下图所示

Helm 是官方提供的类似于 YUM 的包管理器,是部署环境的流程封装。Helm 有两个重要的概念:chart 和 release

  • chart是helm打包软件的包的格式,charts中包含了kubernetes所需的配置好的资源信息。
  • Tiler是Helm的服务端,运行在kubernetes中,它用来响应helm客户端的请求,完成一系列charts操作。

使用helm部署release到kubernetes

1.构建helm chart

chart的文件结构

  • Chart.yaml描述了chart的信息,包括名字,版本,描述信息等等。
  • values.yaml存储变量,给templates文件中定义的资源使用。
  • templates文件夹中使用go语言的模版语法,定义了各类kubernetes资源,结合values.yaml中的变量值,声称实际的资源声明文件。 NOTES.txt:在执行helm instll安装此Chart之后会被输出到屏幕的一些自定义信息

本次我们不使用helm create去创建,手动创建各个文件

1.创建存放文件夹

2.创建自描述文件 Chart.yaml , 这个文件必须有 name 和 version 定义,必须这样写,必须包含name和version字段

3.创建模板文件, 用于生成 Kubernetes 资源清单(manifests)

4.创建service(svc)

5.使用命令 helm install RELATIVE_PATH_TO_CHART 创建一次Release

release理解:

6.常用命令

查看release

更新release

如果想更新release,那么可以通过配置文件values.yaml

创建values.yaml

values.yaml 这个文件中定义的值,在模板文件中可以通过[ .Values ]对象访问到

修改templates/deployment.yaml

然后执行更新命令

进入pod查看nginx版本是否已经更替为1.16.1

已经更新,没问题

查看更新历史

回滚到上一个版本

等等…

Debug[测试脚本是否可以正常运行]

最后编辑:
作者:shooter
这个作者貌似有点懒,什么都没有留下。