將 Helm Chart 推送至 Amazon ECR私有儲存庫 - Amazon ECR

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

將 Helm Chart 推送至 Amazon ECR私有儲存庫

您可以將 Open Container Initiative (OCI) 成品推送至 Amazon ECR儲存庫。若要查看此功能的範例,請使用下列步驟將 Helm Chart 推送至 Amazon ECR。

如需將 Amazon ECR託管 Helm Chart 與 Amazon 搭配使用的相關資訊EKS,請參閱 在 Amazon EKS 集群上安裝頭盔圖

將 Helm Chart 推送至 Amazon ECR儲存庫
  1. 安裝 Helm 用戶端的最新版本。這些步驟是使用 Helm 版本 3.8.2 進行編寫。如需詳細資訊,請參閱安裝 Helm

  2. 使用下列步驟來建立測試 Helm Chart。如需詳細資訊,請參閱 Helm Docs - 開始使用

    1. 建立一個名為 helm-test-chart 的 Helm Chart 並清除 templates 目錄的內容。

      helm create helm-test-chart rm -rf ./helm-test-chart/templates/*
    2. ConfigMap 在 templates 資料夾中建立 。

      cd helm-test-chart/templates cat <<EOF > configmap.yaml apiVersion: v1 kind: ConfigMap metadata: name: helm-test-chart-configmap data: myvalue: "Hello World" EOF
  3. 封裝圖表。輸出將包含您在推送 Helm Chart 時使用的封裝圖表的檔案名稱。

    cd ../.. helm package helm-test-chart

    輸出

    Successfully packaged chart and saved it to: /Users/username/helm-test-chart-0.1.0.tgz
  4. 建立儲存庫以存放 Helm Chart。儲存庫的名稱應與您在步驟 2 中建立 Helm Chart 時使用的名稱相符。如需詳細資訊,請參閱建立 Amazon ECR私有儲存庫以存放映像

    aws ecr create-repository \ --repository-name helm-test-chart \ --region us-west-2
  5. 將 Helm 用戶端驗證為您打算推送 Helm Chart 的 Amazon ECR登錄檔。所用的每個登錄檔皆必須取得身分驗證字符,字符有效期間為 12 個小時。如需詳細資訊,請參閱Amazon 的私有註冊表身份 ECR

    aws ecr get-login-password \ --region us-west-2 | helm registry login \ --username AWS \ --password-stdin aws_account_id.dkr.ecr.region.amazonaws.com
  6. 使用 helm push 命令推送 Helm Chart。輸出應包含 Amazon SHA ECR儲存庫URI和摘要。

    helm push helm-test-chart-0.1.0.tgz oci://aws_account_id.dkr.ecr.region.amazonaws.com/
  7. 描述您的 Helm Chart。

    aws ecr describe-images \ --repository-name helm-test-chart \ --region us-west-2

    在輸出中,確認 artifactMediaType 參數指出適當的成品類型。

    { "imageDetails": [ { "registryId": "aws_account_id", "repositoryName": "helm-test-chart", "imageDigest": "sha256:dd8aebdda7df991a0ffe0b3d6c0cf315fd582cd26f9755a347a52adEXAMPLE", "imageTags": [ "0.1.0" ], "imageSizeInBytes": 1620, "imagePushedAt": "2021-09-23T11:39:30-05:00", "imageManifestMediaType": "application/vnd.oci.image.manifest.v1+json", "artifactMediaType": "application/vnd.cncf.helm.config.v1+json" } ] }
  8. (選用) 如需其他步驟,請安裝 Helm 組態圖並開始使用 Amazon EKS。如需詳細資訊,請參閱在 Amazon EKS 集群上安裝頭盔圖