Amazon ECR 프라이빗 리포지토리에 Helm 차트 푸시
Amazon ECR 프라이빗 리포지토리에 Helm 차트 푸시
Open Container Initiative(OCI) 아티팩트를 Amazon ECR 리포지토리에 푸시하는 방법을 설명합니다. 이 기능의 예시로, 아래 단계에 따라 Helm 차트를 Amazon ECR에 푸시할 수 있습니다. Amazon ECR에 호스팅한 Helm 차트를 Amazon EKS와 함께 사용하는 방법은 Amazon EKS 클러스터에 Helm 차트 설치를 참고하세요.
출처: 문서
본문
Helm 차트를 Amazon ECR 리포지토리에 푸시
-
최신 버전의 Helm 클라이언트를 설치합니다. 이 단계는 Helm 버전 3.18.6을 기준으로 작성되었습니다. Amazon EKS 지원 Kubernetes 버전과의 호환성을 위해서는 Helm 버전 3.9 이상을 사용하세요. 자세한 내용은 Helm 설치를 참고하세요.
-
다음 단계를 사용해 테스트용 Helm 차트를 만듭니다. 자세한 내용은 Helm Docs - Getting Started를 참고하세요.
helm-test-chart라는 Helm 차트를 만들고templates디렉터리의 내용을 비웁니다.helm create helm-test-chart rm -rf ./helm-test-chart/templates/* -
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 -
차트를 패키징합니다. 출력에는 Helm 차트를 푸시할 때 사용하는 패키징된 차트의 파일 이름이 포함됩니다.
cd ../.. helm package helm-test-chart출력:
Successfully packaged chart and saved it to: /Users/username/helm-test-chart-0.1.0.tgz -
Helm 차트를 저장할 리포지토리를 만듭니다. 리포지토리 이름은 2단계에서 Helm 차트를 만들 때 사용한 이름과 일치해야 합니다. 자세한 내용은 이미지 저장용 Amazon ECR 프라이빗 리포지토리 생성 문서를 참고하세요.
aws ecr create-repository \ --repository-name helm-test-chart \ --region us-west-2 -
Helm 차트를 푸시하려는 Amazon ECR 레지스트리에 Helm 클라이언트를 인증합니다. 인증 토큰은 사용하는 각 레지스트리에 대해 얻어야 하며, 토큰의 유효 기간은 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 -
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/ -
Helm 차트를 설명(describe)합니다.
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" } ] } -
(선택 사항) 추가 단계로 Helm ConfigMap을 설치하고 Amazon EKS를 시작해 볼 수 있습니다. 자세한 내용은 Amazon EKS 클러스터에 Helm 차트 설치를 참고하세요.