2.11. Pod への OCI イメージのマウント
Open Container Initiative (OCI) 準拠のコンテナーイメージまたはアーティファクトを、Pod に直接マウントできます。これにより、イメージ内のファイルにコンテナーがアクセスできるようになり、ファイルをベースイメージに含める必要がなくなります。その結果、OCI 準拠のレジストリーでデータをホストすることが可能になります。
2.11.1. イメージボリューム リンクのコピーリンクがクリップボードにコピーされました!
イメージボリューム を使用すると、Open Container Initiative (OCI) 準拠のコンテナーイメージまたはアーティファクトを、Pod に直接マウントできます。これにより、イメージ内のファイルにコンテナーがアクセスできるようになり、ファイルをベースイメージに含める必要がなくなります。そのため、OCI 準拠のレジストリーでデータをホストすることが可能になります。
Pod でイメージボリュームを使用すると、OCI イメージおよびディストリビューション仕様標準を活用して、次のユースケースを含むいくつかのタスクを実行できます。
- Pod 内の複数のコンテナー間で設定ファイルを共有でき、ベースイメージにファイルを含める必要がなくなるため、セキュリティーリスクとイメージサイズが最小限に抑えられます。
- 人工知能環境では、イメージボリュームを使用して、モデルサーバーと一緒に、大規模言語モデルの重みまたは機械学習モデルの重みを Pod にマウントできます。この方法により、モデルサーバーのコンテナーイメージにモデルの重みを含めなくても、モデルの重みを効率的に提供できます。したがって、モデルの仕様とコンテンツを、それらを処理する実行可能ファイルから分離することができます。
- バイナリーアーティファクトをパッケージ化して配布し、Pod に直接マウントすることで、CI/CD パイプラインを合理化できます。これにより、CI/CD アーティファクトをイメージボリュームにアタッチすることで、ベースイメージを少数に抑えることが可能になります。
- マルウェアスキャナー用のパブリックイメージを使用し、それをプライベートなマルウェアシグネチャーを含むボリュームにマウントできます。これにより、パブリックイメージの著作権によって許可されていない可能性があるベースイメージへのイメージの組み込みを行うことなく、それらのシグネチャーをロードできます。
イメージボリュームをマウントするには、Pod へのイメージボリュームの追加 で説明されているように、イメージまたはアーティファクトへのパスを、オプションのプルポリシーとともに Pod 仕様に含めます。
2.11.2. Pod へのイメージボリュームの追加 リンクのコピーリンクがクリップボードにコピーされました!
Open Container Initiative (OCI) 準拠のコンテナーイメージまたはアーティファクトをマウントするには、volume パラメーターを使用して、イメージまたはアーティファクトへのパスを、オプションのプルポリシーとともに Pod 仕様に含めます。Pod を直接作成することも、デプロイメントやレプリカセットなどの制御オブジェクトを使用することもできます。
手順
以下のような YAML ファイルを作成します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
Alwaysの場合、kubelet は常にイメージのプルを試行します。プルが失敗すると、kubelet は Pod をFailedに設定します。 -
Neverの場合、kubelet はイメージをプルせず、ローカルイメージまたはアーティファクトのみを使用します。イメージのいずれかのレイヤーがローカルに存在しない場合、またはそのイメージのマニフェストがまだキャッシュされていない場合、Pod がFailed状態になります。 -
IfNotPresentの場合、kubelet はイメージが存在しない場合にイメージをプルします。イメージが存在せずプルが失敗すると、Pod がFailedになります。これがデフォルトです。
-
以下のコマンドを実行して Pod を作成します。
oc create -f <file_name>.yaml
$ oc create -f <file_name>.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow