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.8.2
を使用して作成されました。詳細については、「Installing Helm」を参照してください。 -
次の手順に従って、テスト Helm チャートを作成します。詳細については、Helm ドキュメントの「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
\ --regionus-west-2
-
Helm チャートのプッシュ先となる Amazon ECR レジストリに対して Helm クライアントを認証します。認証トークンは、使用するレジストリごとに取得する必要があり、トークンは 12 時間有効です。詳細については、「Amazon ECR でのプライベートレジストリ認証」を参照してください。
aws ecr get-login-password \ --region
us-west-2
| helm registry login \ --username AWS \ --password-stdinaws_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 チャートを説明します。
aws ecr describe-images \ --repository-name
helm-test-chart
\ --regionus-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 チャートをインストールする」を参照してください。