使用Helm 3.7以下版本推送和拉取Chart

更新时间: 2023-11-16 15:27:42

在Helm3版本中,推送和拉取Chart的是通过使用OCI镜像仓库来实现的。OCI镜像仓库用于存储和管理Chart,可以是本地文件系统、网络服务器或云存储等。在Helm 3.7以下的版本中,推送和拉取Chart的概念与使用Helm-push插件不同。本文介绍使用3.7以下版本的Helm时,如何使用命令推送和拉取Chart。

步骤一:配置企业版实例

  1. 创建命名空间。

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

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

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

    4. 在企业版实例管理页面选择镜像仓库 > 命名空间

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

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

  2. 创建镜像仓库。

    1. 在企业版实例管理页面选择仓库管理 > 镜像仓库

    2. 镜像仓库单击创建镜像仓库

    3. 仓库信息配置向导中设置命名空间仓库名称仓库类型镜像版本镜像加速摘要描述信息,单击下一步

    4. 代码源配置向导中设置代码源构建设置构建规则设置,单击创建镜像仓库

      参数

      说明

      代码源

      选择代码源。

      构建设置

      • 代码变更时自动构建镜像:当分支有代码提交后会自动触发构建规则。

      • 海外源智能加速:构建时会在海外机房构建,构建成功后推送到指定地域。如果您项目的Dockerfile文件需要从国外站点下载文件,但是跨境网络不稳定,您可以使用海外源智能加速

      • 不使用缓存:每次构建镜像时会强制重新拉取基础依赖镜像,可能会增加构建时间。关闭不使用缓存,可以加速镜像的构建时间。

      镜像仓库页面单击目标镜像仓库,您可以在镜像仓库管理页面左侧导航栏看到构建,说明镜像仓库和源代码仓库绑定成功。

  3. 配置访问凭证。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    6. 提示对话框单击确定

步骤二:推送和拉取Chart

  1. 从官方下载需要的Helm Chart版本

    说明

    请确保客户端为v3版本,可以通过执行helm3 version -c命令查看客户端版本。以下为v3.0.2版本的使用示例。

  2. 执行以下命令,开启Helm 3客户端实验特性。

    export HELM_EXPERIMENTAL_OCI=1
  3. 执行以下命令,登录企业版实例。

    其中用于登录的用户名为阿里云账号名。

    说明

    如果您推送拉取的是公开Chart仓库,您可以在容器镜像控制台概览页面打开公开匿名拉取开关,然后您可以免登录匿名拉取公开Chart仓库。

    helm3 registry login --username=<镜像仓库登录名> <企业版实例名称>.<企业版实例所在的地域>.cr.aliyuncs.com

    示例:

    helm3 registry login --username=123@188077086902**** m**-registry.cn-hangzhou.cr.aliyuncs.com

    在返回结果中输入登录密码。登录密码为上文设置的固定密码。

  4. 执行以下命令,创建HelloWorld Chart。

    helm3 create helloworld
  5. 推送和拉取Chart。

    • 推送Chart至镜像仓库。

      1. 执行以下命令,将Chart目录保存为企业版实例仓库tag版本。

        helm3 chart save helloworld <企业版实例名称>.<企业版实例所在的地域>.cr.aliyuncs.com/<命名空间的名称>/<镜像仓库的名称>:<镜像版本号>

        示例:

        helm3 chart save helloworld m**-registry.cn-hangzhou.cr.aliyuncs.com/m**/test:latest
      2. 执行以下命令,将tag版本推送到企业版实例仓库。

        helm3 chart push <企业版实例名称>.<企业版实例所在的地域>.cr.aliyuncs.com/<命名空间的名称>/<镜像仓库的名称>:<镜像版本号>

        示例:

        helm3 chart push m**-registry.cn-hangzhou.cr.aliyuncs.com/m**/test:latest
    • 从镜像仓库拉取Chart。

      1. 执行以下命令,从企业版实例仓库中拉取指定tag版本。

        helm3 chart save helloworld <企业版实例名称>.<企业版实例所在的地域>.cr.aliyuncs.com/<命名空间的名称>/<镜像仓库的名称>:<镜像版本号>

        示例:

        helm3 chart save helloworld m**-registry.cn-hangzhou.cr.aliyuncs.com/m**/test:latest
      2. 执行以下命令,导出tag版本到本地目录,即可在本地查看到Chart目录。

        helm3 chart export <企业版实例名称>.<企业版实例所在的地域>.cr.aliyuncs.com/<命名空间的名称>/<镜像仓库的名称>:<镜像版本号> -d .

        示例:

        helm3 chart export m**-registry.cn-hangzhou.cr.aliyuncs.com/m**/test:latest -d .
      3. 执行以下命令,安装HelloWorld Chart。

         helm install helloworld ./helloworld

阿里云首页 容器镜像服务 相关技术圈