helm可以帮助我们管理kubernetes应用程序,helm Charts可以定义,安装和升级复杂的kubernetes应用程序,charts包很容易创建,版本管理,分享和分布。helm对于kubernetes来说就相当于yum对于centos来说,如果没有yum的话,我们在centos下面要安装一些应用程序是极度麻烦的。
首先当然需要一个可用的kubernetes集群,然后在我们使用helm的节点上已经配置好可以通过kubectl访问集群,因为helm其实就是读取的kebeconfig文件来访问集群的。
由于helm V2版本必须在kubernetes集群中安装一个tiller服务进行通信,这样大大降低了其安全性和可用性,所以在v3版本中移出了服务端,采用了通用的kubernetes CRD 资源来进行管理,这样就只需要连上kubernets即可。
一旦helm客户端准备成功后,我们就可以添加一个charts 仓库,当然最常用的就是官方helm stable charts仓库,
helm repo add stable
helm repo list
helm search repo stable 安装完成后可以用search命令来搜索可以安装的chart包
为了安装一个chart包,我们可以使用helm install 命令,helm有多种方法来找到和安装chart包,但是最简单的方案当然是使用官方的stable这个仓库
首先从仓库中将可用的charts信息同步到本地,可以确保我们获取到最新的charts列表
helm repo update
helm install stabel/mysql --generate-name
helm show chart stable/mysql 命令来了解mysql这个chart包的一些特性。
需要注意的是无论什么时候安装chart 都会创建一个新的release,所以一个chart包是可以多次安装到同一集群中的,每个包都可以独立管理和升级
helm ls 查看到已经安装到release
uninstall 命令从kubernetes中删除release,也会删除与release相关的所有kubernetes资源以及release历史记录。也可以在删除的时候用--keep-history参数,则会保留release的历史记录,可以获取改release的状态就是uninstalled,而不是找不到release
因为helm回删除release后跟踪你的release,所以你可以审查历史甚至取消删除release
helm rollback
定制