推动头盔图 - Amazon ECR
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

推动头盔图

Amazon ECR 支持将开放容器计划 (OCI) 构件推送到您的存储库。要显示此功能,请使用以下步骤将 Helm 图表推送到 Amazon ECR。

有关在 Amazon EKS 中使用 Amazon ECR 托管 Helm 图表的更多信息,请参阅使用亚马逊 EKS 安装亚马逊 ECR 托管的头盔图表.

将 Helm 图表推送到 Amazon ECR 存储库

  1. 安装 Helm 客户端版本 3。有关更多信息,请参阅 。安装头盔.

  2. 在 Helm 3 客户端中启用 OCI 支持。

    export HELM_EXPERIMENTAL_OCI=1
  3. 创建存储库以存储 Helm 控制图。有关更多信息,请参阅 创建存储库

    aws ecr create-repository \ --repository-name artifact-test \ --region us-west-2
  4. 向要向其推送 Helm 图表的 Amazon ECR 注册表验证 Helm 客户端的身份。必须针对每个注册表获得授权令牌,令牌有效期为 12 小时。有关更多信息,请参阅 私有注册表验证

    aws ecr get-login-password \ --region us-west-2 | helm registry login \ --username AWS \ --password-stdin aws_account_id.dkr.ecr.region.amazonaws.com
  5. 请按照以下步骤创建测试 Helm 控制图。有关更多信息,请参阅 。Helm 文档-入门.

    1. 创建名为的目录helm-tutorial在中工作。

      mkdir helm-tutorial cd helm-tutorial
    2. 创建名为mychart并清除templates目录。

      helm create mychart rm -rf ./mychart/templates/*
    3. 创建 ConfigMaptemplatesfolder。

      cd mychart/templates cat <<EOF > configmap.yaml apiVersion: v1 kind: ConfigMap metadata: name: mychart-configmap data: myvalue: "Hello World" EOF
  6. 将图表保存在本地,并使用注册表 URI 创建图表的别名。

    cd .. helm chart save . mychart helm chart save . aws_account_id.dkr.ecr.us-west-2.amazonaws.com/artifact-test:mychart
  7. 确定要推送的 Helm 控制图。运行helm chart list命令列出系统上的 Helm 图。

    helm chart list

    输出应与如下显示类似:

    REF NAME VERSION DIGEST SIZE CREATED aws_account_id.dkr.ecr.us-west-2.amazonaws.com/artifact-tes.. mychart 0.1.0 30e0a03 3.6 KiB 14 seconds mychart mychart 0.1.0 ba3e62a 3.6 KiB About a minute
  8. 使用helm chart push命令:

    helm chart push aws_account_id.dkr.ecr.region.amazonaws.com/artifact-test:mychart
  9. 描述您的头盔图表。

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

    在输出中,验证artifactMediaType参数表示正确的对象类型。

    { "imageDetails": [ { "registryId": "aws_account_id", "repositoryName": "artifact-test", "imageDigest": "sha256:f23ab9dc0fda33175e465bd694a5f4cade93eaf62715fa9390d9fEXAMPLE", "imageTags": [ "mychart" ], "imageSizeInBytes": 3714, "imagePushedAt": 1597433021.0, "imageManifestMediaType": "application/vnd.oci.image.manifest.v1+json", "artifactMediaType": "application/vnd.cncf.helm.config.v1+json" } ] }