什么是Helm
通过之前的学习,我们已经可以部署Pod,Deploymen,Service,Ingress,ConfigMap等kubernetes资源了,对于一个复杂的应用,我们可能需要部署多个资源,才能完成应用的功能部署,这样就需要我们对不同环境,网络等进行多个配置的修改,大大增加的复杂性,丢失了便于扩/缩容的优势,所以针对此,Helm 应用包管理工具诞生了。
1. Helm主要概念
- Chart:一个helm包,其中包含运行一个应用所需要的所有资源定义和工具,还包含Kubernetes集群中的服务定义。(类似千OS 包管理器, 比如Linux 中的yum、apt, 或者MacOS 中的homebrew)
- Release:在Kubernetes集群上运行一个chart实例。在同一个集群上,一个Chart可以被安装多次。
- Repository:用于存放和共享Chart仓库。
2. Helm 安装
下载地址 [https://github.com/helm/helm/releases/tag/v3.0.2]
解压helm-v3.0.2-linux-amd64.tar.gz,并把解压出来的helm拷贝到/usr/local/bin下,这样二进制就部署完成了。
注:Helm V3 相比Helm V2版本有了比较大的改动,移除了tiller,所以建议大家直接安装Helm V3 版本.
3. Helm 命令
上面是Helm 支持命令集,常用到的就是
- 添加列表删除更新和索引 chart 存储库
helm repo add stable https://kubernetes-charts.storage.googleapis.com/
- 在chart库中查找
helm search repo stable
- 安装chart 应用
helm install stable/nginx-ingress --generate-name
- 从 Kubernetes 删除指定名称的 release
helm delete --purge nginx-ingress
- 列出已安装的chart 包
helm list
- get 命令
其实就是获取chart 包中notes,values,manifest等相关信息
helm get hooks/manifest/notes/values xxx(helm list 的chart 名称)
- show 命令
其实跟get 名称差不多,get命令是查看已经安装了chart包信息,show是查看release 的相关信息
helm show chart/readme/value xxx
以上就是Helm包管理工具的安装和使用,后续在具体写一篇关于chart包的详细说明