全部产品
Search
文档中心

容器镜像服务 ACR:使用Helm-push插件推送和拉取Chart

更新时间:Jan 26, 2024

Helm cm-push插件是Helm的一个插件,提供了推送和拉取Chart的功能。Chart是Helm的打包格式,包含了K8s应用的描述信息。要使用Helm cm-push插件推送Chart到远程Chart仓库,首先需要将插件安装到本地。可以使用命令helm plugin install来安装插件。安装完成后,可以使用helm push命令来推送Chart。

重要

以HTTP协议使用Helm-push插件推送和拉取Chart功能,需要您提交工单添加白名单后才能使用。

步骤一:配置企业版实例

  1. 创建命名空间。

    1. 登录容器镜像服务控制台

    2. 在左侧导航栏,选择实例列表

    3. 实例列表页面单击目标企业版实例。

    4. 在企业版实例管理页面选择Helm Chart > 命名空间

    5. 命名空间页面单击创建命名空间

    6. 创建命名空间对话框输入命名空间名称,设置是否自动创建仓库默认仓库类型,单击确定

  2. 创建Chart仓库。

    说明

    当命名空间开启了自动创建仓库功能后,无需提前在界面创建Chart仓库,可直接在终端Helm Push Chart仓库。

    企业版中Chart仓库的格式为 <实例名称>-chart.<Region ID>.cr.aliyuncs.com/<命名空间>/<Chart 仓库名>,Chart仓库的版本为<Chart 名称>-<版本号>。如果您希望使用VPC内网访问,则Chart仓库的格式为<实例名称>-chart-vpc.<Region ID>.cr.aliyuncs.com/<命名空间>/<Chart 仓库名>

    1. 在企业版实例概览页面,组件设置区域,打开Charts右侧的开关。

    2. 在企业版实例管理页面选择Helm Chart > Chart 仓库

    3. Chart仓库页面单击创建Chart仓库

    4. 创建Helm Chart对话框选择命名空间,设置Chart仓库名称类型,然后单击确定

  3. 配置访问凭证。

    设置固定密码或者临时密码,作为后续Helm Chart的访问凭证。以下以设置固定密码为例:

    1. 在企业版实例管理页面选择实例管理 > 访问凭证

    2. 访问凭证页面单击设置固定密码

    3. 设置固定密码对话框输入密码确认密码,单击确定

  4. 配置访问控制台策略。

    开启公网访问或者添加指定VPC打开专有网络访问,保证后续Helm Chart的上传。本文以配置公网的访问控制为例。关于配置专有网络的访问控制的更多信息,请参见配置专有网络的访问控制

    1. 在企业版实例管理页面选择Helm Chart > 访问控制

    2. 访问控制页面单击公网页签。

    3. 公网页签下,打开访问入口,单击添加公网白名单

    4. 添加公网白名单对话框中,输入允许访问的地址段和备注信息,然后单击确定

  5. 打开公开匿名拉取开关。(可选)

    打开公开匿名拉取开关后,您可以免登录匿名拉取公开Chart仓库。

    1. 登录容器镜像服务控制台

    2. 在顶部菜单栏,选择所需地域。

    3. 在左侧导航栏,选择实例列表

    4. 实例列表页面单击目标企业版实例。

    5. 概览页面右侧实例设置区域打开公开匿名拉取开关。

    6. 提示对话框单击确定

步骤二:安装并配置Helm客户端

  1. 下载Helm Chart

    说明

    本文使用Helm3.7及以上客户端版本推送和拉取Chart。可以通过helm version -c查看客户端版本。本文以Helm3.10.0为例,为您介绍推送拉取Chart。

  2. 执行如下命令,将Helm安装包解压并放置到制定位置。

    # 解压缩。
    tar -zxvf helm-v3.10.0-rc.1-linux-amd64.tar.gz
    # 移动至指定位置。
    mv linux-amd64/helm /usr/local/bin/helm    
  3. 执行如下命令,安装Helm插件。

    说明

    安装Helm插件前,请先执行yum install git安装Git。

    helm plugin install https://github.com/chartmuseum/helm-push

步骤三:推送和拉取Chart

  1. 执行如下命令,指定一个本地仓库名称,并且映射到线上的某一个命名空间下的Chart仓库。

    helm repo add <本地仓库名称> https://test9-7-chart****.cn-hangzhou.cr.aliyuncs.com/ns1/repo1 --username <username> --password <password>
  2. 执行如下命令,推送Chart。

    # 本地创建一个Chart。
    helm create <Chart名称>
     
    # 推送Chart目录。
    helm cm-push <Chart名称> <本地仓库名称>

    在Chart仓库页面单击目标Chart仓库名称,单击版本列表。在版本列表页面,您可以看到新增的Chart。

  3. 执行如下命令,安装以及拉取Chart。

    # 从线上Chart仓库更新本地Chart索引。
    helm repo update
     
    # 拉取Chart。
    helm fetch <本地仓库名称>/<Chart名称> --version <Chart版本>
    # 或者直接安装Chart
    helm install -f values.yaml <本地仓库名称>/<Chart 名称> --version <Chart 版本>