(四)Helm之Chart介绍
一、Chart介绍
Kubernetes(k8s)管理的对象叫做资源(比如pod)。helm作为k8s生态工具之一,将互相关联的多个资源统一打包成一个整体,交给 k8s 去运行。这个被打包的整体就叫做 chart。可以把 chart 跟程序的源码包做类比。
有了 chart,我们操作的对象不再是单个资源,而是实体。比如我们需要一个有负载均衡能力的 web 服务,如果不使用 chart,我们需要写 deployment,service 和 ingress 才可以让集群外部的客户使用。但是如果使用 chart,直接使用一个 install 命令便可以实现相同的功能。
二、Chart使用
2.1 chart搜索
## helm search repo chart_name(可以只是关键字,比如 nginx)
# helm search repo nginx
2.2 chart下载
## helm pull chart_name(名称须具体,例 google/nginx-ingress。不能只是关键字,否则下载不到 )
# helm pull google/nginx-ingress
2.3 chart自建
除了从远程helm仓库中获取第三方chart外,你可以创建自己的chart。
# helm create mychart
2.4 chart打包
如果你想上传自建的chart到私有仓库中去,需要先将自建的chart打包。
# helm package mychart
2.5 chart上传
- 上传 chart 需要 4 个步骤:
- 自建私有仓库
- 生成或更新 chart 索引文件
- 上传 chart 和索引文件
- 更新本地 chart 仓库
2.5.1 自建私有仓库
2.5.2 生成或更新chart索引文件
# helm repo index /root/helm/repo
索引文件 index.yaml 内容如下,由内容可知,已经更新了准备上传的 chart 信息。!
2.5.3 上传chart和索引文件
登录私有仓库,上传chart和索引文件index.yaml
2.5.4 更新本地chart仓库
# 更新本地 chart 仓库,跟远程仓库的 chart 保持同步
# helm repo update
更新本地chart仓库之后,就可以检索到刚上传的自定义chart了。