Helm是什么?在战网上玩过暗黑破坏神2代的程序员们应该还记得,Helm是国度的意思。
而在计算机领域,Helm是什么?
Helm是Kubernetes的一个包管理工具,有点像nodejs的npm,Ubuntu的apt和CentOS的yum。这些包管理工具的目的都是用来简化对应应用的部署和管理。
Helm的基本概念:
Chart: 被Helm管理的安装包,里面包含需要部署的安装包资源。Chart之于Helm相当于yum rpm之于CentOS。
每个Chart包里的内容:
(1) 包的基本描述文件Chart.yaml
这个就相当于nodejs项目里的package.json
(2) Release:Chart的部署实例,一个chart在一个Kubernetes集群上可以有多个release,即这个chart可以被安装多次
(3) Repository:Chart的仓库,用于发布和存储Chart, 相当于nodejs项目里package.json里的repository字段:
Helm完成的功能:
(1) 管理Kubernetes manifest files
(2) 管理Helm安装包Charts
(3) 基于Chart进行Kubernetes应用发布
Helm由两部分组成,客户端helm和服务端tiller,其中tiller运行在Kubernetes集群上,用于管理Chart安装的release。
而helm是一个命令行工具,可在本地运行,一般运行在持续集成(Continuous Integration-CI)/持续发布(Continues Delivery-CD)服务器上。
本文介绍客户端helm的安装。
在helm的github仓库上下载二进制可执行文件:
https://github.com/helm/helm/releases
下载完可执行文件helm后,拷贝到文件夹/usr/local/bin下,执行helm version, 如果看到版本信息,说明helm的客户端安装成功。