在Helm3版本中,推送和拉取Chart的是通過使用OCI鏡像倉庫來實現的。OCI鏡像倉庫用於儲存和管理Chart,可以是本地檔案系統、網路伺服器或雲端儲存等。在Helm 3.7以下的版本中,推送和拉取Chart的概念與使用Helm-push外掛程式不同。本文介紹使用3.7以下版本的Helm時,如何使用命令推送和拉取Chart。
步驟一:配置企業版執行個體
建立命名空間。
在左側導覽列,選擇執行個體列表。
在執行個體列表頁面單擊目標企業版執行個體。
在企業版執行個體管理頁面選擇 。
在命名空間頁面單擊建立命名空間。
在建立命名空間對話方塊輸入命名空間名稱,設定是否自動建立倉庫和預設倉庫類型,單擊確定。
建立鏡像倉庫。
在企業版執行個體管理頁面選擇 。
在鏡像倉庫單擊建立鏡像倉庫。
在倉庫資訊設定精靈中設定命名空間、倉庫名稱、倉庫類型、鏡像版本、鏡像加速、摘要、描述資訊,單擊下一步。
在代碼源設定精靈中設定代碼源、構建設定、構建規則設定,單擊建立鏡像倉庫。
參數
說明
代碼源
選擇代碼源。
構建設定
代碼變更時自動構建鏡像:當分支有代碼提交後會自動觸發構建規則。
海外源智能加速:構建時會在海外機房構建,構建成功後推送到指定地區。如果您專案的Dockerfile檔案需要從國外網站下載檔案,但是跨境網路不穩定,您可以使用海外源智能加速。
不使用緩衝:每次構建鏡像時會強制重新拉取基礎依賴鏡像,可能會增加構建時間。關閉不使用緩衝,可以加速鏡像的構建時間。
在鏡像倉庫頁面單擊目標鏡像倉庫,您可以在鏡像倉庫管理頁面左側導覽列看到構建,說明鏡像倉庫和原始碼倉庫綁定成功。
配置訪問憑證。
設定固定密碼或者臨時密碼,作為後續鏡像倉庫的訪問憑證。以下以設定固定密碼為例:
在企業版執行個體管理頁面選擇 。
在訪問憑證頁面單擊設定固定密碼。
在設定固定密碼對話方塊輸入密碼和確認密碼,單擊確定。
配置存取控制台策略。
開啟公網訪問或者添加指定VPC開啟專用網路訪問,保證後續鏡像的上傳。本文以配置公網的存取控制為例。關於配置專用網路的存取控制的更多資訊,請參見配置專用網路的存取控制。
在企業版執行個體管理頁面選擇 。
在存取控制頁面單擊公網頁簽。
在公網頁簽下,開啟訪問入口,單擊添加公網白名單。
在添加公網白名單對話方塊中,輸入允許訪問的位址區段和備忘資訊,然後單擊確定。
開啟公開匿名拉取開關。(可選)
開啟公開匿名拉取開關後,您可以免登入匿名拉取公開鏡像倉庫。
在頂部功能表列,選擇所需地區。
在左側導覽列,選擇執行個體列表。
在執行個體列表頁面單擊目標企業版執行個體。
在概覽頁面右側執行個體設定地區開啟公開匿名拉取開關。
在提示對話方塊單擊確定。
步驟二:推送和拉取Chart
從官方下載需要的Helm Chart版本。
說明請確保用戶端為v3版本,可以通過執行
helm3 version -c
命令查看用戶端版本。以下為v3.0.2版本的使用樣本。執行以下命令,開啟Helm 3用戶端實驗特性。
export HELM_EXPERIMENTAL_OCI=1
執行以下命令,登入企業版執行個體。
其中用於登入的使用者名稱為阿里雲帳號名。
說明如果您推送拉取的是公開Chart倉庫,您可以在容器鏡像控制台概覽頁面開啟公開匿名拉取開關,然後您可以免登入匿名拉取公開Chart倉庫。
helm3 registry login --username=<鏡像倉庫登入名稱> <企業版執行個體名稱>.<企業版執行個體所在的地區>.cr.aliyuncs.com
樣本:
helm3 registry login --username=123@188077086902**** m**-registry.cn-hangzhou.cr.aliyuncs.com
在返回結果中輸入登入密碼。登入密碼為上文設定的固定密碼。
執行以下命令,建立HelloWorld Chart。
helm3 create helloworld
推送和拉取Chart。
推送Chart至鏡像倉庫。
執行以下命令,將Chart目錄儲存為企業版執行個體倉庫tag版本。
helm3 chart save helloworld <企業版執行個體名稱>.<企業版執行個體所在的地區>.cr.aliyuncs.com/<命名空間的名稱>/<鏡像倉庫的名稱>:<鏡像版本號碼>
樣本:
helm3 chart save helloworld m**-registry.cn-hangzhou.cr.aliyuncs.com/m**/test:latest
執行以下命令,將tag版本推送到企業版執行個體倉庫。
helm3 chart push <企業版執行個體名稱>.<企業版執行個體所在的地區>.cr.aliyuncs.com/<命名空間的名稱>/<鏡像倉庫的名稱>:<鏡像版本號碼>
樣本:
helm3 chart push m**-registry.cn-hangzhou.cr.aliyuncs.com/m**/test:latest
從鏡像倉庫拉取Chart。
執行以下命令,從企業版執行個體倉庫中拉取指定tag版本。
helm3 chart save helloworld <企業版執行個體名稱>.<企業版執行個體所在的地區>.cr.aliyuncs.com/<命名空間的名稱>/<鏡像倉庫的名稱>:<鏡像版本號碼>
樣本:
helm3 chart save helloworld m**-registry.cn-hangzhou.cr.aliyuncs.com/m**/test:latest
執行以下命令,匯出tag版本到本地目錄,即可在本地查看到Chart目錄。
helm3 chart export <企業版執行個體名稱>.<企業版執行個體所在的地區>.cr.aliyuncs.com/<命名空間的名稱>/<鏡像倉庫的名稱>:<鏡像版本號碼> -d .
樣本:
helm3 chart export m**-registry.cn-hangzhou.cr.aliyuncs.com/m**/test:latest -d .
執行以下命令,安裝HelloWorld Chart。
helm install helloworld ./helloworld