

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# Amazon ECR 리포지토리에 Helm 차트 푸시
<a name="push-oci-artifact"></a>

Amazon ECR 프라이빗 리포지토리에 Open Container Initiative(OCI) 아티팩트를 푸시할 수 있습니다. 이 기능의 예를 보려면 다음 단계를 따라 Helm 차트를 Amazon ECR로 푸시합니다.

Amazon ECR에서 호스팅되는 Helm 차트를 Amazon EKS에서 사용하는 방법에 대한 자세한 내용은 [Amazon EKS 클러스터에 Helm 차트 설치](using-helm-charts-eks.md) 섹션을 참조하세요.

**Helm 차트를 Amazon ECR 리포지토리로 푸시하려면**

1. Helm 클라이언트의 최신 버전을 설치합니다. 이들 단계는 Helm 버전을 사용하여 작성되었습니다 `3.18.6`. Amazon EKS 지원 Kubernetes 버전과의 호환성을 보장하려면 Helm 버전 3.9 이상을 사용하세요. 자세한 정보는 [Helm 설치](https://helm.sh/docs/intro/install/)를 참조하세요.

1. 다음 단계에 따라 테스트 Helm 차트를 생성합니다. 자세한 내용은 [Helm Docs - 시작하기](https://helm.sh/docs/chart_template_guide/getting_started/)를 참조하세요.

   1. `helm-test-chart` 라는 Helm 차트를 만들고 `templates` 디렉토리의 콘텐츠를 지웁니다.

      ```
      helm create helm-test-chart
      rm -rf ./helm-test-chart/templates/*
      ```

   1. `templates` 폴더에 `ConfigMap`을 생성합니다.

      ```
      cd helm-test-chart/templates
      cat <<EOF > configmap.yaml
      apiVersion: v1
      kind: ConfigMap
      metadata:
        name: helm-test-chart-configmap
      data:
        myvalue: "Hello World"
      EOF
      ```

1. 차트를 패키징합니다. 출력에는 Helm 차트를 푸시할 때 사용하는 패키지 차트의 파일 이름이 포함됩니다.

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

   출력

   ```
   Successfully packaged chart and saved it to: /Users/username/helm-test-chart-0.1.0.tgz
   ```

1. Helm 차트를 저장할 리포지토리를 생성합니다. 리포지토리 이름은 2단계에서 Helm 차트를 생성할 때 사용한 이름과 일치해야 합니다. 자세한 내용은 [이미지를 저장할 Amazon ECR 프라이빗 리포지토리 생성](repository-create.md) 단원을 참조하십시오.

   ```
   aws ecr create-repository \
        --repository-name helm-test-chart \
        --region us-west-2
   ```

1. Helm 차트를 푸시하려는 Amazon ECR 레지스트리에 대해 Helm 클라이언트를 인증합니다. 인증 토큰은 사용되는 레지스트리마다 필요하며, 12시간 동안 유효합니다. 자세한 정보는 [Amazon ECR의 프라이빗 레지스트리 인증](registry_auth.md)을 참조하세요.

   ```
   aws ecr get-login-password \
        --region us-west-2 | helm registry login \
        --username AWS \
        --password-stdin aws_account_id.dkr.ecr.region.amazonaws.com
   ```

1. **helm push** 명령을 사용하여 Helm 차트를 푸시합니다. 출력에는 Amazon ECR 리포지토리 URI 및 SHA 다이제스트가 포함되어야 합니다.

   ```
   helm push helm-test-chart-0.1.0.tgz oci://aws_account_id.dkr.ecr.region.amazonaws.com/
   ```

1. Helm 차트를 설명하세요.

   ```
   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"
           }
       ]
   }
   ```

1. (선택 사항) 추가 단계로, Helm `ConfigMap`을 설치하고 Amazon EKS를 시작합니다. 자세한 내용은 [Amazon EKS 클러스터에 Helm 차트 설치](using-helm-charts-eks.md) 단원을 참조하십시오.