使用Helm 2推送和拉取Chart
Helm是一個(gè)Kubernetes包管理工具,使用Chart打包、管理和部署Kubernetes應(yīng)用程序。當(dāng)您創(chuàng)建了一個(gè)新的Chart或更新了已有的Chart后,可以將其推送到Helm倉庫,以便其他人可以拉取并使用。Helm是一個(gè)Kubernetes包管理工具,使用Chart打包、管理和部署Kubernetes應(yīng)用程序。
步驟一:配置企業(yè)版實(shí)例
創(chuàng)建命名空間。
在左側(cè)導(dǎo)航欄,選擇實(shí)例列表。
在實(shí)例列表頁面單擊目標(biāo)企業(yè)版實(shí)例。
在企業(yè)版實(shí)例管理頁面選擇 。
在命名空間頁面單擊創(chuàng)建命名空間。
在創(chuàng)建命名空間對(duì)話框輸入命名空間名稱,設(shè)置是否自動(dòng)創(chuàng)建倉庫和默認(rèn)倉庫類型,單擊確定。
創(chuàng)建Chart倉庫。
說明當(dāng)命名空間開啟了自動(dòng)創(chuàng)建倉庫功能后,無需提前在界面創(chuàng)建Chart倉庫,可直接在終端Helm Push Chart倉庫。
企業(yè)版中Chart倉庫的格式為
<實(shí)例名稱>-chart.<Region ID>.cr.aliyuncs.com/<命名空間>/<Chart 倉庫名>
,Chart倉庫的版本為<Chart 名稱>-<版本號(hào)>
。如果您希望使用VPC內(nèi)網(wǎng)訪問,則Chart倉庫的格式為<實(shí)例名稱>-chart-vpc.<Region ID>.cr.aliyuncs.com/<命名空間>/<Chart 倉庫名>
。在企業(yè)版實(shí)例概覽頁面,組件設(shè)置區(qū)域,打開Charts右側(cè)的開關(guān)。
在企業(yè)版實(shí)例管理頁面選擇 。
在Chart倉庫頁面單擊創(chuàng)建Chart倉庫。
在創(chuàng)建Helm Chart對(duì)話框選擇命名空間,設(shè)置Chart倉庫名稱和類型,然后單擊確定。
配置訪問憑證。
設(shè)置固定密碼或者臨時(shí)密碼,作為后續(xù)Helm Chart的訪問憑證。以下以設(shè)置固定密碼為例:
在企業(yè)版實(shí)例管理頁面選擇 。
在訪問憑證頁面單擊設(shè)置固定密碼。
在設(shè)置固定密碼對(duì)話框輸入密碼和確認(rèn)密碼,單擊確定。
配置訪問控制臺(tái)策略。
開啟公網(wǎng)訪問或者添加指定VPC打開專有網(wǎng)絡(luò)訪問,保證后續(xù)Helm Chart的上傳。本文以配置公網(wǎng)的訪問控制為例。關(guān)于配置專有網(wǎng)絡(luò)的訪問控制的更多信息,請(qǐng)參見配置專有網(wǎng)絡(luò)的訪問控制。
在企業(yè)版實(shí)例管理頁面選擇 。
在訪問控制頁面單擊公網(wǎng)頁簽。
在公網(wǎng)頁簽下,打開訪問入口,單擊添加公網(wǎng)白名單。
在添加公網(wǎng)白名單對(duì)話框中,輸入允許訪問的地址段和備注信息,然后單擊確定。
打開公開匿名拉取開關(guān)。(可選)
打開公開匿名拉取開關(guān)后,您可以免登錄匿名拉取公開Chart倉庫。
在頂部菜單欄,選擇所需地域。
在左側(cè)導(dǎo)航欄,選擇實(shí)例列表。
在實(shí)例列表頁面單擊目標(biāo)企業(yè)版實(shí)例。
在概覽頁面右側(cè)實(shí)例設(shè)置區(qū)域打開公開匿名拉取開關(guān)。
在提示對(duì)話框單擊確定。
步驟二:安裝并配置客戶端
從官方下載需要的Helm Chart版本。
說明請(qǐng)確保客戶端為v2版本,可以通過執(zhí)行
helm version -c
命令查看客戶端版本。以下為v2.14.2版本的使用示例。執(zhí)行以下命令,將Helm安裝包解壓縮并放置至指定位置。
# 解壓縮。 tar -zxvf helm-v2.14.2-linux-amd64.tgz # 移動(dòng)至指定位置。 mv linux-amd64/helm /usr/local/bin/helm
安裝Helm插件。
說明在安裝Helm插件前,需要預(yù)先安裝Git。
如果您位于海外或訪問Github比較流暢,執(zhí)行以下命令安裝Helm插件。
helm plugin install https://github.com/AliyunContainerService/helm-acr
初始化Helm環(huán)境。
如果你當(dāng)前在容器服務(wù)集群節(jié)點(diǎn)上,默認(rèn)已經(jīng)有初始化完成的Tiller,只需要初始化Client。并且希望避免訪問Google Chart源,執(zhí)行以下命令,初始化Helm環(huán)境。
helm init --client-only --skip-refresh
如果你當(dāng)前在自建的Kubernetes集群節(jié)點(diǎn)上,并且希望避免訪問Google Chart源,執(zhí)行以下命令,初始化Helm環(huán)境。
helm init --skip-refresh
步驟三:推送和拉取Chart
執(zhí)行以下命令,配置本地倉庫映射。
需要指定一個(gè)本地倉庫名稱,映射到線上的某一個(gè)命名空間下的某一個(gè)Chart倉庫。
export HELM_REPO_USERNAME='<企業(yè)版實(shí)例訪問憑證中賬號(hào)>'; export HELM_REPO_PASSWORD='<企業(yè)版實(shí)例訪問憑證中密碼>'; helm repo add <本地倉庫名稱> acr://<實(shí)例名稱>-chart.<Region ID>.cr.aliyuncs.com/<命名空間>/<Chart 倉庫> --username ${HELM_REPO_USERNAME} --password ${HELM_REPO_PASSWORD}
推送Chart。
執(zhí)行以下命令,推送Chart。
# 本地創(chuàng)建一個(gè)Chart。 helm create <Chart名稱> # 推送Chart目錄。 helm cm-push <Chart名稱> <本地倉庫名稱> # 或者推送Chart壓縮包。 helm cm-push <Chart名稱>-<Chart版本>.tgz <本地倉庫名稱>
在Chart倉庫頁面單擊Chart倉庫名稱,單擊版本列表。在版本列表頁面可以看到新增一個(gè)Chart。
執(zhí)行以下命令,拉取Chart。
# 從線上Chart倉庫更新本地Chart索引。 helm repo update # 拉取Chart。 helm fetch <本地倉庫名稱>/<Chart名稱> --version <Chart版本> # 或者直接安裝Chart。 helm install -f values.yaml <本地倉庫名稱>/<Chart名稱> --version <Chart版本>