すべてのプロダクト
Search
ドキュメントセンター

Container Registry:OCI アーティファクトとしてのチャートのプッシュとプル

最終更新日:Jun 09, 2026

Helm 3 は、Helm チャートをパッケージ化して配布するための Open Container Initiative (OCI) アーティファクト形式をサポートしています。このトピックでは、Container Registry (ACR) での認証、OCI アーティファクトとしてのチャートのプッシュ、および Kubernetes クラスターへのインストールについて説明します。

前提条件

開始する前に、以下が準備されていることを確認してください:

  • Helm 3.8 以降。 helm version を実行して確認します。 OCI サポートは Helm 3.8 で一般利用可能になりました。

  • 少なくとも 1 つの名前空間が作成済みの ACR インスタンス。

  • インストールおよび設定済みの Docker またはその他の OCI 互換クライアント。

  • レジストリの認証情報 (ユーザー名とパスワード、またはアクセストークン)。

ACR での認証

OCI アーティファクトをプッシュまたはプルする前に、Helm クライアントでレジストリにログインします。

helm registry login <registry-domain> \
  --username <username> \
  --password <password>

プレースホルダーを、お使いのレジストリの詳細で置き換えてください:

プレースホルダー

説明

<registry-domain>

ACR エンドポイント

registry.cn-hangzhou.aliyuncs.com

<username>

Alibaba Cloud アカウントのユーザー名または RAM ユーザー

user@example.com

<password>

アカウントのパスワードまたはアクセストークン

期待される出力:

Login Succeeded
説明

一時的なアクセストークンを使用する場合、トークンには有効期間があります。自動化パイプラインでの認証エラーを避けるため、有効期限が切れる前に更新してください。

Helm チャートのパッケージ化

レジストリにプッシュする前に、ローカル Helm チャートを .tgz アーカイブにパッケージ化します。

helm package <chart-directory>

期待される出力:

Successfully packaged chart and saved it to: /path/to/<chart-name>-<version>.tgz

たとえば、チャートディレクトリが my-chart で、バージョンが 0.1.0 の場合、出力ファイルは my-chart-0.1.0.tgz になります。

レジストリへのチャートのプッシュ

パッケージ化したチャートを ACR の名前空間にプッシュします。

helm push <chart-name>-<version>.tgz oci://<registry-domain>/<namespace>

期待される出力:

Pushed: <registry-domain>/<namespace>/<chart-name>:<version>
Digest: sha256:<digest-hash>

ダイジェスト値を記録しておきます。後でこの値を使用してダイジェストでチャートをインストールすると、整合性をより高く保証できます。

OCI レジストリ URL の形式

OCI レジストリホストは、URL スキームやパスなしで指定する必要があります。次の表に、有効な形式と無効な形式を示します。

形式

有効

registry.cn-hangzhou.aliyuncs.com

はい

ホスト名のみ

localhost:5000

はい

ポート付きホスト名

https://registry.cn-hangzhou.aliyuncs.com

いいえ

スキームは許可されていません

registry.cn-hangzhou.aliyuncs.com/my-namespace

いいえ

ホストにパスを含めることはできません

Helm コマンドに渡す際は、常に完全な OCI 参照の先頭に oci:// を付けます:

oci://registry.cn-hangzhou.aliyuncs.com/my-namespace/my-chart

レジストリからのチャートのプル

レジストリからローカルマシンにチャートをダウンロードします。

helm pull oci://<registry-domain>/<namespace>/<chart-name> --version <version>
説明

現在のディレクトリに同じ名前のアーカイブがすでに存在する場合、helm pull は警告なしでそれを上書きします。

レジストリからのチャートのインストール

タグによるインストール

helm install <release-name> oci://<registry-domain>/<namespace>/<chart-name> \
  --version <version>

ダイジェストによるインストール

ダイジェストはイミュータブル (不変) であり、参照されるアーティファクトが気付かないうちに置き換えられることがないため、ダイジェストベースのインストールはタグベースのインストールよりも安全です。

helm install <release-name> \
  oci://<registry-domain>/<namespace>/<chart-name>@sha256:<digest-hash>

チャートをプッシュしたときに出力されたダイジェストを使用してください。

次のステップ

  • CI/CD パイプラインでチャートのプッシュを自動化するには、ビルドワークフローに helm registry login コマンドと helm push コマンドを組み込みます。

  • ACR での Helm チャートと OCI アーティファクトの管理に関する詳細は、ACR のドキュメントをご参照ください。

  • 独自の Helm チャートを作成および開発するには、Helm チャートテンプレートガイドをご参照ください。