Helm基础
Helm把Kubernetes的资源打包到一个Chart中,并将制作、测试完成的各个Chart保存到仓库进行存储和分发。Helm还实现了可配置的发布,它支持应用配置的版本管理,简化了Kubernetes部署应用的版本控制、打包、发布、删除、更新等操作,它有如下几个关键概念:
- Chart:即一个Helm程序包,它包含了运行一个Kubernetes应用所需要的镜像、依赖关系和资源定义等,它类似于APT的dpkg文件或者yum的rpm文件
- Repository:集中存储和分发Chart的仓库,类似于Perl的CPAN,或者Python的PyPI等
- Config:Chart实例化安装运行时使用的配置信息
- Release:Chart实例化配置后运行于Kubernetes集群中的一个应用实例;在同一个集群上,一个Chart可以使用不同的Config重复安装多次,每次安装都会创建一个新的Release
因此,Chart更像是存储在Kubernetes集群之外的程序,它的每次安装是指在集群中使用专用配置运行一个实例,执行过程有点类似于在操作系统上基于程序启动一个进程。
通常,用户在Helm客户端本地遵循其格式编写Chart文件,而后即可部署在Kubernetes集群上,运行为一个特定的Release。仅在有分发需求时,才应该把同一应用的Chart文件打包成归档压缩格式提交到特定的Chart仓库。仓库可以运行为公共托管平台,也可以是用户自建的服务器,仅供特定的组织或个人使用
安装Helm 3 :
1、下载Helm 3:Helm3下载地址
2、解压缩并设置环境变量:
tar xf helm-v3.8.2-linux-amd64.tar.gz
mv linux-amd64/helm /usr/bin/
helm --help #查看使用方式
3、添加本地仓库,从而使用内部的Chart:
helm repo add stable https://charts.helm.sh/stable
helm repo add incubator https://charts.helm.sh/incubator
helm repo add bitnami https://charts.bitnami.com/bitnami #开源项目,很多服务都可以找到
注意:Helm与Kubernetes API Server通信依赖于本地安装并配置的kubectl,因此运行Helm的节点也应该是可以正常使用kubectl命令的主机,或者至少是有着可用kubeconfig配置文件的主机
4、查看bitnami仓库有哪些可用的Chart,执行命令如下:
helm search repo bitnami
5、也可直接搜索软件的名字,比如搜索redis,执行命令如下:
helm search repo redis



