パイプラインのコンテナ持込み(BYOC)
ジョブおよびスクリプトに基づくパイプライン・ステップの定義とは別に、カスタム・コンテナ・イメージを使用してステップ・ランタイムを定義できます。
コンテナ実行用のコンテナ・イメージ、コマンドまたはエントリ・ポイントを選択できます。スクリプトまたは圧縮アーカイブにカスタム・コードを指定できます。これにより、イメージを再構築せずにコードを更新できます。
BYOCステップ構成
モデル・アーティファクト
BYOCの使用時のステップ・アーティファクトのアップロードはオプションです。ただし、イメージを再構築せずに、コンテナ内で実行されるコードを変更できます。
ステップ・アーティファクトは、コンテナ内でフォルダ/home/datascience/
にマウントされます。アーティファクトがアーカイブの場合、そのコンテンツはフォルダ/home/datascience/decompressed_artifact
に抽出されます。
- 共通dockerイメージ
- 必要な環境(クイック・スタートに示すようにPython 3.8および基本ライブラリなど)で汎用コンテナ・イメージを構築し、後でステップ・アーティファクトとしてPythonスクリプトを追加すると便利です。
- カスタム・アーティファクト- フォルダのオーバーライド
- カスタム・ステップ・アーティファクトを使用すると、サービスはアーティファクトを含むボリュームを
/home/datascience
フォルダにマウントし、コンテナ・イメージ内のフォルダをオーバーライドします。アーカイブ・アーティファクト(zip/tar/...
)は解凍され、コンテンツはフォルダ/home/datascience/decompressed_artifact
に表示されます。
コンテナ・パイプラインの作成- クイック・スタート
コンテナ・パイプライン・ステップを作成するには、次のステップに従います。
コンテナの構築
コンテナのテスト
イメージをコンテナ・レジストリにプッシュする前に、ローカルでテストできます。
コンテナのOCIRへのプッシュ
コンテナ・レジストリのドキュメントのステップに従って、認証トークンを生成してOCIRにログインします。
パイプラインの作成
パイプラインにコンテナ・レジストリからリソース・プル・コンテナ・イメージを実行させるポリシーがあることを確認するには、「パイプライン・ポリシー」の項を参照してください。
BYOC Demo name
など、適切な名前でパイプラインを作成します。- 「パイプライン・ステップの追加」を選択します。
- ステップに
Step 1
などの名前を指定します。 - 「Bring Your Own Container」を使用するには、「From container」を選択します。
- 「コンテナ構成」で、「構成」を選択します。
- 「コンテナ環境の構成」で:
- リストからリポジトリ・クイックスタートまたはbyocを選択します。リポジトリが別のコンパートメントにある場合は、「コンパートメントの変更」を選択します。
- リストからイメージ
iad.ocir.io/idtlxnfdweil/quickstart/byoc:1.0.0
を選択します。 - 「選択」を選択します。
- 「保存」を選択します。
- オプション: ロギングを定義します。
- 「作成」を選択します。
パイプライン・ログの有効化
- パイプラインのリストから、有効にするパイプラインを選択します。
- パイプラインの詳細ページで、「ログ」を選択します。
- 「ログの有効化」を選択します。
サポートされている構成
サポートされている構成に関する重要な情報。
- MLパイプラインは、OCIレジストリに存在するコンテナ・イメージのみをサポートします。
- コンテナ・イメージのサイズは、非圧縮形式では40 GBに制限されます。
- MLパイプライン・リソースを作成するユーザーは、OCIレジストリのコンテナ・イメージにアクセスできる必要があります。そうでない場合は、MLパイプライン・リソースを作成する前に、ユーザー・アクセスIAMポリシーを作成します。
Apple Silicon M1 Macのコンテナ画像
詳細は、AppleのDockerイメージ(M1 MacBook)を参照してください。
イメージ・デジタル
コンテナ・レジストリ内のイメージは、リポジトリ、名前およびタグによって識別されます。また、Dockerでは、イメージの各バージョンに一意の英数字の消化が付与されます。更新されたコンテナ・イメージをプッシュする場合は、ベスト・プラクティスとして、既存のタグを再利用するのではなく、更新されたイメージに特定するための新しいタグを提供することをお薦めします。ただし、更新されたイメージをプッシュして、そのイメージに以前のバージョンと同じ名前およびタグを付ける場合でも、新しくプッシュされたバージョンのダイジェストは、以前のバージョンとは異なります。
パイプライン・リソースを作成する場合は、イメージの特定のバージョンの名前とタグを指定します。後で矛盾を回避するために、パイプラインは、その特定のバージョンのイメージの一意のダイジェストも記録します。パイプライン・リソースの作成時にイメージのダイジェストを指定することもできます。
デフォルトでは、更新されたバージョンのイメージを、元のバージョンのイメージと同じ名前およびタグを使用してDockerレジストリにプッシュすると、パイプラインでは、元のダイジェストを使用してイメージの元のバージョンがプルされます。これが必要な動作である場合もあります。ただし、パイプラインでより新しいバージョンのイメージをプルする場合は、パイプラインがプルするイメージのバージョンを識別するために使用するタグおよびダイジェストを使用してイメージ名を明示的に変更できます。