Helm Chart仓库
操作场景
容器镜像服务企业版支持托管Helm Chart。您可以在同一个命名空间内同时管理容器镜像和Helm Chart,实现在业务项目内同时使用容器镜像和Helm Chart。
背景信息
Kubernetes提供了统一模式的API,能以YAML格式的文件定义Kubernetes集群中的资源,包括Pod、Service、Deployment、StatefulSet、Job等等。这些资源种类繁多,且分散的kubernetes应用配置文件难以管理、编辑和更新,因此云原生社区衍生了一个更高维度的概念及其实现工具,即Chart和Helm。
- Chart是描述相关的一组Kubernetes集群内资源的文件集合。
- Helm是一个命令行程序,用于管理这些Chart,以及其运行态Release。
容器镜像服务企业版支持Helm客户端实现Chart的上传和下载。
使用Helm客户端上传及下载Helm Chart
安装Helm客户端
本文以在Linux操作系统的节点上安装为例,如在其他平台安装请下载对应安装包。
- 依次执行以下命令,下载并安装Helm客户端。关于安装Helm的更多信息,请参见Installing Helm。
curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3
chmod 700 get_helm.sh
./get_helm.sh
“get_helm.sh”脚本会自动拉取最新的Helm版本进行安装,如需安装其他版本,请从官方下载需要的Helm版本。
推送Helm Chart
- 安装Helm Push插件。
在安装Helm Push插件前,需要预先安装Git。
helm plugin install https://github.com/chartmuseum/helm-push
- 在节点上执行如下命令,创建一个Chart。
helm create [Chart名称]
示例:helm create chart-demo
- 执行如下命令,推送指定目录至Chart仓库。
helm push [Chart名称] [本地仓库名称]
示例:
helm push chart-demo group
您还可以将Chart文件打包为tgz压缩包,然后直接上传。
helm push [Chart名称]-[Chart版本].tgz [本地仓库名称]
示例:
tar zcvf chart-demo-1.0.0.tgz chart-demo/ # 压缩Chart文件 helm push chart-demo-1.0.0.tgz group # 上传Chart压缩包
下载Helm Chart
- 在节点上执行如下命令,更新本地仓库Chart信息。
helm repo update
- 下载指定版本Chart。
helm pull [本地仓库名称]/[Chart名称] --version [Chart版本]
示例:
helm pull group/chart-demo --version 1.0.0