Helm是一个Kubernetes包管理工具,使用Chart打包、管理和部署Kubernetes应用程序。当您创建了一个新的Chart或更新了已有的Chart后,可以将其推送到Helm仓库,以便其他人可以拉取并使用。Helm是一个Kubernetes包管理工具,使用Chart打包、管理和部署Kubernetes应用程序。
步骤一:配置企业版实例
创建命名空间。
登录容器镜像服务控制台。
在左侧导航栏,选择实例列表。
在实例列表页面单击目标企业版实例。
在企业版实例管理页面选择 。
在命名空间页面单击创建命名空间。
在创建命名空间对话框输入命名空间名称,设置是否自动创建仓库和默认仓库类型,单击确定。
创建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 仓库名>
。在企业版实例概览页面,组件设置区域,打开Charts右侧的开关。
在企业版实例管理页面选择 。
在Chart仓库页面单击创建Chart仓库。
在创建Helm Chart对话框选择命名空间,设置Chart仓库名称和类型,然后单击确定。
配置访问凭证。
设置固定密码或者临时密码,作为后续Helm Chart的访问凭证。以下以设置固定密码为例:
在企业版实例管理页面选择 。
在访问凭证页面单击设置固定密码。
在设置固定密码对话框输入密码和确认密码,单击确定。
配置访问控制台策略。
开启公网访问或者添加指定VPC打开专有网络访问,保证后续Helm Chart的上传。本文以配置公网的访问控制为例。关于配置专有网络的访问控制的更多信息,请参见配置专有网络的访问控制。
在企业版实例管理页面选择 。
在访问控制页面单击公网页签。
在公网页签下,打开访问入口,单击添加公网白名单。
在添加公网白名单对话框中,输入允许访问的地址段和备注信息,然后单击确定。
打开公开匿名拉取开关。(可选)
打开公开匿名拉取开关后,您可以免登录匿名拉取公开Chart仓库。
登录容器镜像服务控制台。
在顶部菜单栏,选择所需地域。
在左侧导航栏,选择实例列表。
在实例列表页面单击目标企业版实例。
在概览页面右侧实例设置区域打开公开匿名拉取开关。
在提示对话框单击确定。
步骤二:安装并配置客户端
从官方下载需要的Helm Chart版本。
说明请确保客户端为v2版本,可以通过执行
helm version -c
命令查看客户端版本。以下为v2.14.2版本的使用示例。执行以下命令,将Helm安装包解压缩并放置至指定位置。
# 解压缩。 tar -zxvf helm-v2.14.2-linux-amd64.tgz # 移动至指定位置。 mv linux-amd64/helm /usr/local/bin/helm
安装Helm插件。
说明在安装Helm插件前,需要预先安装Git。
如果您位于海外或访问Github比较流畅,执行以下命令安装Helm插件。
helm plugin install https://github.com/AliyunContainerService/helm-acr
初始化Helm环境。
如果你当前在容器服务集群节点上,默认已经有初始化完成的Tiller,只需要初始化Client。并且希望避免访问Google Chart源,执行以下命令,初始化Helm环境。
helm init --client-only --skip-refresh
如果你当前在自建的Kubernetes集群节点上,并且希望避免访问Google Chart源,执行以下命令,初始化Helm环境。
helm init --skip-refresh
步骤三:推送和拉取Chart
执行以下命令,配置本地仓库映射。
需要指定一个本地仓库名称,映射到线上的某一个命名空间下的某一个Chart仓库。
export HELM_REPO_USERNAME='<企业版实例访问凭证中账号>'; export HELM_REPO_PASSWORD='<企业版实例访问凭证中密码>'; helm repo add <本地仓库名称> acr://<实例名称>-chart.<Region ID>.cr.aliyuncs.com/<命名空间>/<Chart 仓库> --username ${HELM_REPO_USERNAME} --password ${HELM_REPO_PASSWORD}
推送Chart。
执行以下命令,推送Chart。
# 本地创建一个Chart。 helm create <Chart名称> # 推送Chart目录。 helm cm-push <Chart名称> <本地仓库名称> # 或者推送Chart压缩包。 helm cm-push <Chart名称>-<Chart版本>.tgz <本地仓库名称>
在Chart仓库页面单击Chart仓库名称,单击版本列表。在版本列表页面可以看到新增一个Chart。
执行以下命令,拉取Chart。
# 从线上Chart仓库更新本地Chart索引。 helm repo update # 拉取Chart。 helm fetch <本地仓库名称>/<Chart名称> --version <Chart版本> # 或者直接安装Chart。 helm install -f values.yaml <本地仓库名称>/<Chart名称> --version <Chart版本>