管理Helm Chart
容器镜像服务CCR企业版提供 Helm Chart 功能,支持在控制台上或通过Helm工具实现 Chart 的上传与下载,通过该功能您可以高效便捷的托管、分发 Kubernetes 集群中的各种资源。
- Chart 是一系列 Kubernetes 集群内资源描述文件的组件,一个 Chart 可以是一个简单的 WordPress 应用,也可以是一个复杂的 etcd 集群的集合。
- Helm 是一个命令行工具,用于管理这些 Chart,以及其运行态 Release。
Helm Chart 仓库和镜像仓库都归属于命名空间,并从命名空间继承了访问类型等属性,具体信息请参见管理命名空间。
背景信息
容器镜像服务CCR企业版支持托管 V2 和 V3 版本的 Helm Chart,满足您对不同资源类型的管理要求。不同版本的 Helm Chart 支持的功能不同:
- 若是 v2 版本的 Helm Chart,您需要通过 Helm Chart 仓库进行托管。
- 若是 v3 版本的 Helm Chart,您可以直接使用镜像仓库进行托管,也可以使用 Helm Chart 仓库托管。
前提条件
操作步骤
通过控制台管理Helm Chart
上传Helm Chart包
- 登录容器镜像服务控制台。
- 在左侧导航栏,选择实例列表。
- 在“实例列表”页面单击目标实例。
- 在“实例管理”页面左侧导航栏中选择 Helm Chart。
- 在Helm Chart页面单击上传,在“上传 Helm Chart”页面完成相关配置:
配置项 | 必选/可选 | 配置说明 |
---|---|---|
命名空间 | 必选 | Helm Chart所属命名空间。 |
Chart 文件 | 必选 | 本地 Helm Chart压缩包,仅支持 .tgz格式。 |
Prov 文件 | 可选 | Chart出处文件,若 Chart 文件被签名,则需要上传出处(Provenance)文件。 |
说明
上传同名文件将覆盖已有 Chart,请谨慎操作。
- 单击确定则开始上传该 Chart 包到 Helm Chart 仓库中。上传完成后您可以在仓库列表中查看已上传的 Helm Chart。
Helm Chart仓库相关操作
您可以在“实例>Helm Chart”列表页面执行以下操作对 Helm Chart 仓库进行管理:
查看 Helm Chart 信息
单击指定Helm Chart仓库的名称进行Chart仓库下一级页面,您可以查看Chart属性和管理Chart版本。
删除H elm Chart 仓库
单击 Helm Chart 仓库对应的删除,在删除确认框中单击确定即可删除 Chart 仓库,同时支持批量删除多个 Chart 仓库。
说明
Helm Chart 仓库删除后,Chart 仓库中所有的数据均被删除,且不可恢复,请谨慎操作。
管理Chart版本
单击指定 Helm Chart 仓库的名称进行 Chart 仓库下一级页面,在左侧导航栏中的版本管理页面,您可以在此管理仓库中的 Chart 版本,并下载、删除操作,如下所示:
下载
单击指定 Chart 版本右侧操作中的下载,即可将该版本下载到本地,支持一次性下载多个 Chart 版本。
删除
单击指定 Chart 版本右侧操作中的删除,在删除确认框中单击确定即可删除Chart版本,同时支持批量删除多个 Chart 版本。
通过Helm客户端推送和拉取 Chart
使用镜像仓库托管 Chart
使用 Helm 3.7及以上客户端推送、拉取 Chart
- 从官方下载合适的 Helm 版本。
说明
请确保客户端为 v3.7及以上版本,可以通过执行
helm3 version -c
命名查看客户端版本。
-
开启 Helm3.7 及以上版本客户端实验特性。
Plain Text1 >$ export HELM_EXPERIMENTAL_OCI=1
-
登录企业版实例,其中用于登录的用户名为百度智能云账号名。
Plain Text1 >$ helm3 registry login -u [镜像仓库登录名] [公网或私有网络访问域名]
在返回结果中输入登录密码(密码为访问凭据中的固定密码或临时密码)。
-
创建名为 ccr-chart-demo 的 Chart。
Plain Text1 >$ helm3 create ccr-chart-demo
-
在本地将 Chart 目录压缩成名为 demo.tgz 的压缩包。
Plain Text1 >$ tar -zcvf demo.tgz ccr-chart-demo
-
将 Chart 压缩包推送至镜像仓库。
Plain Text1 >$ helm3 push demo.tgz oci://[公网或私有网络访问域名]/[命名空间]
-
从镜像仓库拉取 Chart 压缩包。
Plain Text1 >$ helm3 pull oci://[公网或私有网络访问域名]/[命名空间]/[镜像仓库名称] --version [镜像版本]
-
本地解压 Chart 压缩包。
Plain Text1 >$ tar -xcvf [镜像版本].tgz
使用 Helm 3.7 以下客户端推送、拉取 Chart
- 从官方下载合适的Helm版本。
说明
请确保客户端为v3.7以下版本,可以通过执行
helm3 version -c
命名查看客户端版本。
-
开启 Helm3.7 以下版本客户端实验特性。
Plain Text1 >$ export HELM_EXPERIMENTAL_OCI=1
-
登录企业版实例,其中用于登录的用户名为百度智能云用户名。
Plain Text1 >$ helm3 registry login -u [镜像仓库登录名] [公网或私有网络访问域名]
在返回结果中输入登录密码(密码为访问凭据中的固定密码或临时密码)。
-
创建名为 ccr-chart-demo 的 Chart。
Plain Text1 >$ helm3 create ccr-chart-demo
-
将 Chart 目录保存为镜像仓库 tag 版本。
Plain Text1 >$ helm3 chart save ccr-chart-demo [公网或私有网络访问域名]/[命名空间]/[镜像仓库版本名称]:[版本号]
-
将 tag 版本推送至实例镜像仓库中。
Plain Text1 >$ helm3 chart push [公网或私有网络访问域名]/[命名空间]/[镜像仓库版本名称]:[版本号]
-
从实例镜像仓库中拉取指定 tag 版本。
Plain Text1 >$ helm3 chart save ccr-chart-demo [公网或私有网络访问域名]/[命名空间]/[镜像仓库版本名称]:[版本号]
-
导出 tag 版本到本地目录,即可在本地查看 Chart 目录。
Plain Text1 >$ helm3 chart export [公网或私有网络访问域名]/[命名空间]/[镜像仓库版本名称]:[版本号] -d .
使用 Helm Chart 仓库托管 Chart
以下将介绍如是使用 Helm2 推送和拉取 Chart。
- 从官方下载合适的Helm版本。
说明
请确保客户端为 v2 版本,可以通过执行
helm version -c
命名查看客户端版本。
-
安装 Helm Push 插件。
Plain Text1>$ helm plugin install https://github.com/chartmuseum/helm-push
注意
若 Helm Push 插件为v0.10.0及以上版本,推送 Chart 需使用
helm cm-push
命令;若为 v0.10.0 以下版本,推送 Chart 需使用helm push
命令。
-
配置本地仓库映射(需要指定一个本地仓库名称,映射到线上的某一个命名空间下的某一个 Chart 仓库)。
Plain Text1>$ helm repo add [本地仓库名称] https://[公网或私有网络访问域名]/chartrepo/[命名空间] --username [企业版实例访问凭据中用户名]
在返回结果中输入登录密码(密码为访问凭据中的固定密码或临时密码)。
-
创建名为 ccr-chart-demo 的 Chart。
Plain Text1 >$ helm create ccr-chart-demo
-
推送 Chart 目录到本地仓库。
Plain Text1 >$ helm cm-push [Chart名称] [本地仓库名称]
-
推送 Chart 压缩包到本地仓库(可选)。
Plain Text1 >$ helm cm-push [Chart名称]-[Chart版本].tgz [本地仓库名称]
-
从线上 Chart 仓库更新本地 Chart 索引。
Plain Text1 >$ helm repo update
-
拉取 Chart。
Plain Text1 >$ helm fetch [本地仓库名称]/[Chart名称] --version [Chart版本]
-
直接安装 Chart(可选)。
Plain Text1 >$ helm install -f values.yaml [本地仓库名称]/[Chart名称] --version [Chart版本]