全部產品
Search
文件中心

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

更新時間:Jun 30, 2024

在Helm3版本中,推送和拉取Chart的是通過使用OCI鏡像倉庫來實現的。OCI鏡像倉庫用於儲存和管理Chart,可以是本地檔案系統、網路伺服器或雲端儲存等。在Helm 3.7以下的版本中,推送和拉取Chart的概念與使用Helm-push外掛程式不同。本文介紹使用3.7以下版本的Helm時,如何使用命令推送和拉取Chart。

步驟一:配置企業版執行個體

  1. 建立命名空間。

    1. 登入Container Registry控制台

    2. 在左側導覽列,選擇執行個體列表

    3. 執行個體列表頁面單擊目標企業版執行個體。

    4. 在企業版執行個體管理頁面選擇鏡像倉庫 > 命名空間

    5. 命名空間頁面單擊建立命名空間

    6. 建立命名空間對話方塊輸入命名空間名稱,設定是否自動建立倉庫預設倉庫類型,單擊確定

  2. 建立鏡像倉庫。

    1. 在企業版執行個體管理頁面選擇倉庫管理 > 鏡像倉庫

    2. 鏡像倉庫單擊建立鏡像倉庫

    3. 倉庫資訊設定精靈中設定命名空間倉庫名稱倉庫類型鏡像版本鏡像加速摘要描述資訊,單擊下一步

    4. 代碼源設定精靈中設定代碼源構建設定構建規則設定,單擊建立鏡像倉庫

      參數

      說明

      代碼源

      選擇代碼源。

      構建設定

      • 代碼變更時自動構建鏡像:當分支有代碼提交後會自動觸發構建規則。

      • 海外源智能加速:構建時會在海外機房構建,構建成功後推送到指定地區。如果您專案的Dockerfile檔案需要從國外網站下載檔案,但是跨境網路不穩定,您可以使用海外源智能加速

      • 不使用緩衝:每次構建鏡像時會強制重新拉取基礎依賴鏡像,可能會增加構建時間。關閉不使用緩衝,可以加速鏡像的構建時間。

      鏡像倉庫頁面單擊目標鏡像倉庫,您可以在鏡像倉庫管理頁面左側導覽列看到構建,說明鏡像倉庫和原始碼倉庫綁定成功。

  3. 配置訪問憑證。

    設定固定密碼或者臨時密碼,作為後續鏡像倉庫的訪問憑證。以下以設定固定密碼為例:

    1. 在企業版執行個體管理頁面選擇執行個體管理 > 訪問憑證

    2. 訪問憑證頁面單擊設定固定密碼

    3. 設定固定密碼對話方塊輸入密碼確認密碼,單擊確定

  4. 配置存取控制台策略。

    開啟公網訪問或者添加指定VPC開啟專用網路訪問,保證後續鏡像的上傳。本文以配置公網的存取控制為例。關於配置專用網路的存取控制的更多資訊,請參見配置專用網路的存取控制

    1. 在企業版執行個體管理頁面選擇倉庫管理 > 存取控制

    2. 存取控制頁面單擊公網頁簽。

    3. 公網頁簽下,開啟訪問入口,單擊添加公網白名單

    4. 添加公網白名單對話方塊中,輸入允許訪問的位址區段和備忘資訊,然後單擊確定

  5. 開啟公開匿名拉取開關。(可選)

    開啟公開匿名拉取開關後,您可以免登入匿名拉取公開鏡像倉庫。

    1. 登入Container Registry控制台

    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