第2章 カスタムワークベンチイメージの作成
Red Hat OpenShift AI には、データサイエンティストがワークベンチを作成または編集するときに選択できるデフォルトのワークベンチイメージの選択肢が含まれています。
さらに、データサイエンティストが頻繁に使用するライブラリーを追加する場合や、デフォルトイメージで提供されているバージョンとは異なる特定のバージョンのライブラリーを必要とする場合などに、カスタムワークベンチイメージをインポートできます。カスタムワークベンチイメージは、実行環境に直接インストールできないことが原因で、データサイエンティストがオペレーティングシステムパッケージやアプリケーションを必要とする場合にも役立ちます (データサイエンティストのユーザーには、それらの操作に必要なルートアクセス権がありません)。
カスタムワークベンチイメージは単なるコンテナーイメージです。Containerfile (または Dockerfile) を使用して、標準のコンテナーイメージをビルドするのと同じようにビルドします。既存のイメージ (FROM
命令) から開始し、必要な要素を追加します。
カスタムワークベンチイメージを作成するには、次のオプションがあります。
Red Hat は、OpenShift AI のデプロイメントにカスタムワークベンチイメージを追加することをサポートしており、ワークベンチの作成時に選択できるようになります。ただし、Red Hat はカスタムワークベンチイメージの内容をサポートしていません。つまり、ワークベンチの作成時にカスタムワークベンチイメージを選択できるが、使用可能なワークベンチが作成されない場合、Red Hat はカスタムワークベンチイメージを修正するためのサポートを提供しません。
関連情報
OpenShift AI のデフォルトのワークベンチイメージとそのプリインストールパッケージのリストについては、サポートされている設定 を参照してください。
イメージ作成に関する詳細は、以下の資料を参照してください。
2.1. デフォルトの OpenShift AI イメージからカスタムイメージを作成する
Red Hat OpenShift AI をクラスターにインストールした後、OpenShift コンソールの redhat-ods-applications
プロジェクトの Builds
デフォルトの OpenShift AI イメージに OS パッケージまたはアプリケーションを追加することで、カスタムイメージを作成できます。
前提条件
カスタムイメージのベースとして使用するデフォルトイメージを把握している。
OpenShift AI のデフォルトのワークベンチイメージとそのプリインストールパッケージのリストについては、サポートされている設定 を参照してください。
-
OpenShift AI がインストールされているクラスターの OpenShift コンソールへの
cluster-admin
アクセス権がある。
手順
カスタムイメージのベースとして使用するデフォルトのイメージの場所を取得します。
-
OpenShift コンソールで、Builds
ImageStreams を選択します。 - redhat-ods-applications プロジェクトを選択します。
- インストールされているイメージストリームのリストから、カスタムイメージのベースとして使用するイメージの名前をクリックします。たとえば、pytorch をクリックします。
- ImageStream details ページで、YAML をクリックします。
spec:tags
セクションで、使用するイメージのバージョンのタグを見つけます。元のイメージの場所は、以下のように、タグの
from:name
セクションに表示されます。name: 'quay.io/modh/odh-pytorch-notebook@sha256:b68e0192abf7d…'
- カスタムイメージで使用するためにこの場所をコピーします。
-
OpenShift コンソールで、Builds
- 標準の Containerfile または Dockerfile を作成します。
FROM
命令では、以下のように、ステップ 1 でコピーしたベースイメージの場所を指定します。FROM quay.io/modh/odh-pytorch-notebook@sha256:b68e0…
必要に応じて、OS イメージをインストールします。
-
USER 0
に切り替えます (OS パッケージをインストールするには USER 0 が必要です)。 - パッケージをインストールします。
USER 1001
に切り替えます。次の例では、デフォルトの PyTorch イメージに Java を追加するカスタムワークベンチイメージを作成します。
FROM quay.io/modh/odh-pytorch-notebook@sha256:b68e0… USER 0 RUN INSTALL_PKGS="java-11-openjdk java-11-openjdk-devel" && \ dnf install -y --setopt=tsflags=nodocs $INSTALL_PKGS && \ dnf -y clean all --enablerepo=* USER 1001
-
必要に応じて Python パッケージを追加します。
-
USER 1001
を指定します。 -
requirements.txt
ファイルをコピーします。 パッケージをインストールします。
次の例では、デフォルトの PyTorch イメージの
requirements.txt
ファイルからパッケージをインストールします。FROM quay.io/modh/odh-pytorch-notebook@sha256:b68e0… USER 1001 COPY requirements.txt ./requirements.txt RUN pip install -r requirements.txt
-
イメージファイルをビルドします。たとえば、イメージファイルが配置されているローカルで
podman build
を使用し、OpenShift AI がアクセスできるレジストリーにイメージをプッシュできます。$ podman build -t my-registry/my-custom-image:0.0.1 . $ podman push my-registry/my-custom-image:0.0.1
または、BuildConfig を使用して OpenShift のイメージビルド機能を活用することもできます。