在我们学习kubernetes的过程中,用的最多的是kubectl命令行工具,使用kubectl工具需要我们编写好各种部署文件,这在生产中是非常不方便的,因此Helm这个kubernetes包管理工具就应运而生了。
Helm包管理工具不仅可以为我们安装网上已经成熟的部署库文件,而且可以生产本地部署模板,我们只需要简单改一改,就可以完成一个应用的部署,不需要我们记住那么多的命令和配置。下面我们就看一下Helm的使用。
Helm基础介绍
HelmV2/V3的对比
组件架构对比:
1.Helm2:由2个二进制组成:helm(客户端cli)、tiller(服务端)
2.Helm3:只有1个二进制组成:helm、移除了tiller
工作原理对比:
1.Helm2:helm-tiller-k8s。首先由helm和tiller交互,然后由tiller负责和k8s交互来完成操作。
2.Helm3:helm-k8s。由helm命令去调用/root/.kube/config获取k8s权限,然后直接与apiserver交互操作。
Helm安装的Chart的元信息记录到k8s的secret里面,secret名字叫sh.helm.release.v1.${NAME}.v1,另外还有一个serviceaccount,名字叫${NAME}-${CHART名}。helmlist命令读取secret才知道安装了哪些包。
Helm主要模块
1.chart:包含应用程序所需要的所有k8s资源定义。
2.repository:存放chart的仓库,类似于docker的镜像仓库。
3.release:chart的实例化,将chart安装到k8s上,就叫做生成一个release。
Helm的安装和基本操作
安装Helm
因为helm3只有一个二进制文件,因此安装非常简单
#二进制下载地址页面: