Helm 차트 푸시 - Amazon ECR

Helm 차트 푸시

Amazon ECR은 Open Container Initiative(OCI) 아티팩트를 리포지토리에 푸시할 수 있도록 지원합니다. 이 기능을 표시하려면 다음 단계를 따라서 Helm 차트를 Amazon ECR로 푸시합니다.

Amazon EKS에서 Amazon ECR 호스트형 Helm 차트를 사용하는 방법에 대한 자세한 내용은 Amazon ECR과 Amazon EKS에서 호스팅되는 Helm 차트 설치 단원을 참조하세요.

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

  1. Helm 클라이언트의 최신 버전을 설치합니다. 이들 단계는 Helm 버전을 사용하여 작성되었습니다 3.8.2. 자세한 정보는 Helm 설치를 참조하세요.

  2. 다음 단계에 따라 테스트 Helm 차트를 생성합니다. 자세한 내용은 Helm Docs - 시작하기를 참조하세요.

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

      helm create helm-test-chart rm -rf ./helm-test-chart/templates/*
    2. 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
  3. 차트를 패키징합니다. 출력에는 Helm 차트를 푸시할 때 사용하는 패키지 차트의 파일 이름이 포함됩니다.

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

    결과

    Successfully packaged chart and saved it to: /Users/username/helm-test-chart-0.1.0.tgz
  4. Helm 차트를 저장할 리포지토리를 생성합니다. 리포지토리 이름은 2단계에서 Helm 차트를 생성할 때 사용한 이름과 일치해야 합니다. 자세한 정보는 프라이빗 리포지토리 생성을 참조하십시오.

    aws ecr create-repository \ --repository-name helm-test-chart \ --region us-west-2
  5. 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
  6. 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/
  7. 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" } ] }
  8. (선택 사항) 추가 단계로, Helm configmap을 설치하고 Amazon EKS를 시작합니다. 자세한 정보는 Amazon ECR과 Amazon EKS에서 호스팅되는 Helm 차트 설치을 참조하세요.