始める前に
イメージをプライベート・コンテナー・レジストリーにミラーリングする前に、以下のようにします。
- ミラーリングする予定のイメージ用に十分なスペースがあることを確認します。 概算イメージ・サイズについては、『ハードウェア要件』を参照してください。
- Inference foundation models (
ibm-watsonx-ai-ifm) コンポーネントへの依存関係を持つサービスをインストールする場合は、以下のようにします。
Skopeo がクライアント・ワークステーションにインストールされていることを確認します。yum install skopeo
- Red Hat®のユーザー名とパスワードがあることを確認します。 (
https://access.redhat.com への認証に使用する資格情報)
REDHAT_ACCESS_USERNAME 環境変数を Red
Hat ユーザー名に設定します。export REDHAT_ACCESS_USERNAME=<username>
REDHAT_ACCESS_PASSWORD 環境変数に、Red
Hat ユーザー名に関連付けられたパスワードを設定します。export REDHAT_ACCESS_PASSWORD=<password>
このタスクについて
cpd-cli
manage コマンドを使用して、IBM
Entitled Registry からプライベート・コンテナー・レジストリーにイメージをミラーリングします。
以下のステップでは、以下のステートメントが真であることを前提としています。
- 単一ステップですべてのコンポーネントをミラーリングします。
ミラーリングされるコンポーネントは、インストール環境変数スクリプトの ${COMPONENTS} 変数によって決定されます。
複数のコンポーネントではなく、特定のコンポーネントをミラーリングする場合は、適切なコンポーネント IDを使用して COMPONENTSをエクスポートできます。
- ミラーリングする必要がある モデルまたはオプション・イメージ を識別した
ミラーリングされるモデルとオプションのイメージは、インストール環境変数スクリプトの ${IMAGE_GROUPS} 変数によって決定されます。
モデルまたはオプション・イメージをミラーリングする必要がない場合は、${IMAGE_GROUPS} 変数を含まないコマンドを実行します。
手順
- IBM
Entitled Registry レジストリーにログインします。
cpd-cli manage login-entitled-registry \
${IBM_ENTITLEMENT_KEY}
- プライベート・コンテナー・レジストリーにログインします。
以下のコマンドは、資格情報で保護されたプライベート・コンテナー・レジストリーを使用していることを前提としています。
cpd-cli manage login-private-registry \
${PRIVATE_REGISTRY_LOCATION} \
${PRIVATE_REGISTRY_PUSH_USER} \
${PRIVATE_REGISTRY_PUSH_PASSWORD}
プライベート・レジストリーが保護されていない場合は、以下の引数を省略します。
${PRIVATE_REGISTRY_PUSH_USER}
${PRIVATE_REGISTRY_PUSH_PASSWORD}
- IBM
Entitled Registryからミラーリングするイメージへのアクセス権限があることを確認します。
- IBM
Entitled Registryを検査します。
ヒント: 特定のコンポーネントのイメージへのアクセス権限があることを検証する場合は、
list-images コマンドを実行する前に、以下のコマンドを実行できます。
export COMPONENTS=<component-ID>
ご使用の環境に該当するコマンドを実行します。
クライアント・ワークステーションに CASE パッケージが既にある
cpd-cli manage list-images \
--components=${COMPONENTS} \
--release=${VERSION} \
--inspect_source_registry=true
GitHub (github.com/IBM) からの CASE パッケージのダウンロード
cpd-cli manage list-images \
--components=${COMPONENTS} \
--release=${VERSION} \
--inspect_source_registry=true
IBM Cloud Pak Open Container Initiative リポジトリーからの CASE パッケージのダウンロード
cpd-cli manage list-images \
--components=${COMPONENTS} \
--release=${VERSION} \
--inspect_source_registry=true \
--from_oci=true
出力は、work/offline/${VERSION} ディレクトリーの list_images.csv ファイルに保存されます。
- 出力にエラーがないか確認します。
grep "level=fatal" list_images.csv
このコマンドは、許可エラーまたはネットワーク・エラーが原因で失敗したイメージを返します。
- EDB Postgres Standard users only. EDB Postgres Standardを購入した場合は、以下のコマンドを実行して、EDB Postgres Enterpriseイメージを、プライベート・コンテナー・レジストリーにミラーリングされるイメージのリストから削除します。
- デフォルトの
cpd-cli-workspace/olm-utils-workspace/work ディレクトリーを使用するワークステーション
sed -i -e '/edb-postgres-advanced/d' ./cpd-cli-workspace/olm-utils-workspace/work/offline/${VERSION}/.ibm-pak/data/cases/ibm-cpd-edb/*/ibm-cpd-edb-*-images.csv
CPD_CLI_MANAGE_WORKSPACE 環境変数を使用するワークステーション
sed -i -e '/edb-postgres-advanced/d' ${CPD_CLI_MANAGE_WORKSPACE}/work/offline/${VERSION}/.ibm-pak/data/cases/ibm-cpd-edb/*/ibm-cpd-edb-*-images.csv
- Watson Studio users only. Watson Studioのイメージをミラーリングする場合は、必要がない場合は以下のイメージを削除できます。
GPU イメージ
GPU イメージはデフォルトでミラーリングされます。 GPU イメージが不要な場合は、以下のコマンドを実行して削除します。
- デフォルトの
cpd-cli-workspace/olm-utils-workspace/work ディレクトリーを使用するワークステーション
sed -i -e '/gpu/d' ./cpd-cli-workspace/olm-utils-workspace/work/offline/${VERSION}/.ibm-pak/data/cases/ibm-wsl-runtimes/*/ibm-wsl-runtimes-*-images.csv
CPD_CLI_MANAGE_WORKSPACE 環境変数を使用するワークステーション
sed -i -e '/gpu/d' ${CPD_CLI_MANAGE_WORKSPACE}/work/offline/${VERSION}/.ibm-pak/data/cases/ibm-wsl-runtimes/*/ibm-wsl-runtimes-*-images.csv
事前トレーニングされた NLP モデル
事前トレーニングされた NLP イメージは、デフォルトでミラーリングされます。 事前トレーニングされた自然言語処理 (NLP) モデルが不要な場合は、以下のコマンドを実行して削除します。
- デフォルトの
cpd-cli-workspace/olm-utils-workspace/work ディレクトリーを使用するワークステーション
sed -i -e '/nlp/d' ./cpd-cli-workspace/olm-utils-workspace/work/offline/${VERSION}/.ibm-pak/data/cases/ibm-wsl-runtimes/*/ibm-wsl-runtimes-*-images.csv
CPD_CLI_MANAGE_WORKSPACE 環境変数を使用するワークステーション
sed -i -e '/nlp/d' ${CPD_CLI_MANAGE_WORKSPACE}/work/offline/${VERSION}/.ibm-pak/data/cases/ibm-wsl-runtimes/*/ibm-wsl-runtimes-*-images.csv
- イメージをプライベート・コンテナー・レジストリーにミラーリングします。
ヒント: このコマンドの動作を変更する必要があるかどうかを判別します。
- デフォルトでは、このコマンドは、クラスター・アーキテクチャーに必要なイメージのみをミラーリングします。 サポートされるすべてのアーキテクチャー用のイメージをミラーリングする場合は、
--arch=${IMAGE_ARCH} オプションを削除します。
- このコマンドは、
${COMPONENTS} 環境変数で指定されたすべてのコンポーネントのイメージをミラーリングします。 特定のコンポーネントのイメージをミラーリングする場合は、コマンドを実行する前に export COMPONENTS=<component-ID> を実行できます。
モデルまたはオプション・イメージをミラーリングする必要がある
cpd-cli manage mirror-images \
--components=${COMPONENTS} \
--groups=${IMAGE_GROUPS} \
--release=${VERSION} \
--target_registry=${PRIVATE_REGISTRY_LOCATION} \
--arch=${IMAGE_ARCH} \
--case_download=false
モデルやオプション・イメージをミラーリングする必要はありません。
cpd-cli manage mirror-images \
--components=${COMPONENTS} \
--release=${VERSION} \
--target_registry=${PRIVATE_REGISTRY_LOCATION} \
--arch=${IMAGE_ARCH} \
--case_download=false
コンポーネントごとに、このコマンドは work ディレクトリーにログ・ファイルを生成します。
ヒント: 以下のコマンドを実行して、ログ・ファイル内のエラーを出力します。
grep "error" mirror_*.log
- イメージがプライベート・コンテナー・レジストリーにミラーリングされたことを確認します。
- プライベート・コンテナー・レジストリーの内容を検査します。
cpd-cli manage list-images \
--components=${COMPONENTS} \
--release=${VERSION} \
--target_registry=${PRIVATE_REGISTRY_LOCATION} \
--case_download=false
出力は、work/offline/${VERSION} ディレクトリーの list_images.csv ファイルに保存されます。
- 出力にエラーがないか確認します。
grep "level=fatal" list_images.csv
このコマンドは、欠落しているか検査できないイメージを返します。
- Inference foundation models (
ibm-watsonx-ai-ifm) コンポーネントへの依存関係を持つサービスをインストールする予定の場合は、必要な vLLM イメージをプライベート・コンテナー・レジストリーにミラーリングします。
ミラーリングするイメージは、インストールする予定のモデルによって異なります。
- Mistral AI モデル
以下のいずれかの
Mistral AI・モデルをインストールする予定の場合は、
IBM
Entitled Registryから必要な vLLM・イメージをミラーリングする必要があります。
- codestral-22b
- codestral-2501
- ministral-8b-instruct
- mistral-large
- mistral-large-instruct-2411
- mistral-small-instruct
- pixtral-large-instruct-2411
skopeo copy --all \
--src-username cp \
--src-password ${IBM_ENTITLEMENT_KEY} \
--src-tls-verify=false \
--dest-username ${PRIVATE_REGISTRY_PUSH_USER} \
--dest-password ${PRIVATE_REGISTRY_PUSH_PASSWORD} \
--dest-tls-verify=false \
docker://cp.icr.io/cp/cpd/vllm@sha256:cc95bc7619549a5fb9342f8c41c613df5cd65b4e1f90b408db062559a2fdcff9 \
docker://${PRIVATE_REGISTRY_LOCATION}/cp/cpd/vllm@sha256:cc95bc7619549a5fb9342f8c41c613df5cd65b4e1f90b408db062559a2fdcff9
- その他のすべてのモデル
その他のすべてのモデルの場合、
registry.redhat.ioから RHOAI vLLM CUDA イメージをミラーリングする必要があります。
registry.redhat.ioにログインします。skopeo login registry.redhat.io \
--username ${REDHAT_ACCESS_USERNAME} \
--password ${REDHAT_ACCESS_PASSWORD}
- イメージをプライベート・コンテナー・レジストリーにコピーします。
skopeo copy --all \
--dest-username ${PRIVATE_REGISTRY_PUSH_USER} \
--dest-password ${PRIVATE_REGISTRY_PUSH_PASSWORD} \
docker://registry.redhat.io/rhoai/odh-vllm-cuda-rhel9@sha256:fb84fbf103bf450ef5b060fc5f21a9cf16b166dba207a3c50aa91bccd919d604 \
docker://${PRIVATE_REGISTRY_LOCATION}/rhoai/odh-vllm-cuda-rhel9@sha256:fb84fbf103bf450ef5b060fc5f21a9cf16b166dba207a3c50aa91bccd919d604
結果
ご使用のアーキテクチャーのイメージがプライベート・コンテナー・レジストリーにミラーリングされます。注: cpfs コンポーネントなどの一部のコンポーネントは、マルチアーキテクチャー・イメージのみを提供します。 マルチアーキテクチャー・イメージを持つコンポーネントの場合、すべてのイメージがプライベート・コンテナー・レジストリーにミラーリングされます。
次のタスク
イメージをプライベート・コンテナー・レジストリーにミラーリングしたので、IBM Software Hub・ソフトウェア・イメージのイメージ・ダイジェスト・ミラー・セットの構成を完了する準備ができました。