ワークショップセットアップ

NVIDIA NIM Operatorのデプロイ

20 minutes

NVIDIA GPU Operator は、Kubernetesクラスター内でGPUをプロビジョニングするために必要なすべてのNVIDIAソフトウェアコンポーネントのデプロイ、設定、管理を自動化するKubernetes Operatorです。

NVIDIA NIM Operator は、このワークショップで以前作成したOpenShiftクラスターなどのKubernetes環境でLLMをデプロイするために使用されます。

このワークショップのセクションでは、OpenShiftクラスターにNVIDIA GPUとNIM Operatorの両方をデプロイするために必要な手順を説明します。

NVIDIA NGCアカウントの作成

LLMをダウンロードしてNVIDIA NIM Operatorを使用してデプロイするには、NVIDIA GPU CLOUD (NGC)アカウントが必要です。こちら から登録してアカウントを作成できます。

NVIDIA Developer Programへの登録

NVIDIA Developer Program に登録すると、このワークショップの後半でLLMをデプロイするために使用するNVIDIA NIMにアクセスできます。

NGCのNVIDIAサブスクリプションリストにNVIDIA Developer Programが表示されていることを確認してください:

NVIDIAサブスクリプション

NGC APIキーの生成

NGCウェブサイトにログインしたら、画面右上のユーザーアカウントアイコンをクリックし、Setupを選択します。

次に、Generate API Keyをクリックし、手順に従ってください。キーがNGC CatalogSecrets Managerサービスに関連付けられていることを確認してください。

生成されたキーは安全な場所に保存してください。このワークショップの後半で使用します。

NGC APIキーの生成に関する詳細については、NVIDIAドキュメント を参照してください。

Node Feature Discovery Operatorのインストール

このセクションの手順は、CLIを使用したNFD Operatorのインストール に基づいています。

以下のスクリプトを実行して、Node Feature Discovery Operatorをインストールします:

bash
cd nvidia
./install-nfd-operator.sh

Operatorのデプロイが成功したことを確認するには、以下を実行します:

bash
oc get pods

NodeFeatureDiscovery CRの作成

このセクションの手順は、CLIを使用したNodeFeatureDiscovery CRの作成 に基づいています。

以下のスクリプトを実行して、Node Feature Discovery CRを作成します:

bash
./create-nfd-cr.sh

NVIDIA GPU Operatorのインストール

このセクションの手順は、OpenShiftへのNVIDIA GPU Operatorのインストール に基づいています。

以下のスクリプトを実行して、NVIDIA GPU Operatorをインストールします:

bash
./install-nvidia-gpu-operator.sh

インストールプランが作成されるまで待ちます:

bash
oc get installplan -n nvidia-gpu-operator

以下のコマンドでインストールプランを承認します:

bash
INSTALL_PLAN=$(oc get installplan -n nvidia-gpu-operator -oname)
oc patch $INSTALL_PLAN -n nvidia-gpu-operator --type merge --patch '{"spec":{"approved":true }}'

クラスターポリシーの作成

このセクションの手順は、CLIを使用したクラスターポリシーの作成 に基づいています。

bash
./create-cluster-policy.sh

NVIDIA GPU Operatorのインストール確認

以下のコマンドを使用して、NVIDIA GPU Operatorが正常にインストールされたことを確認します:

bash
oc get pods,daemonset -n nvidia-gpu-operator

Operator SDKのインストール

このセクションの手順は、GitHubリリースからのインストール に基づいています。

リリースバイナリのダウンロード

プラットフォーム情報を設定します:

bash
export ARCH=$(case $(uname -m) in x86_64) echo -n amd64 ;; aarch64) echo -n arm64 ;; *) echo -n $(uname -m) ;; esac)
export OS=$(uname | awk '{print tolower($0)}')

お使いのプラットフォーム用のバイナリをダウンロードします:

bash
export OPERATOR_SDK_DL_URL=https://github.com/operator-framework/operator-sdk/releases/download/v1.41.1
curl -LO ${OPERATOR_SDK_DL_URL}/operator-sdk_${OS}_${ARCH}

ダウンロードしたバイナリの検証

keyserver.ubuntu.comからoperator-sdkリリースのGPGキーをインポートします:

bash
gpg --keyserver keyserver.ubuntu.com --recv-keys 052996E2A20B5C7E

チェックサムファイルとその署名をダウンロードし、署名を検証します:

bash
curl -LO ${OPERATOR_SDK_DL_URL}/checksums.txt
curl -LO ${OPERATOR_SDK_DL_URL}/checksums.txt.asc
gpg -u "Operator SDK (release) <cncf-operator-sdk@cncf.io>" --verify checksums.txt.asc

以下のような出力が表示されるはずです:

bash
gpg: assuming signed data in 'checksums.txt'
gpg: Signature made Fri 30 Oct 2020 12:15:15 PM PDT
gpg:                using RSA key ADE83605E945FA5A1BD8639C59E5B47624962185
gpg: Good signature from "Operator SDK (release) <cncf-operator-sdk@cncf.io>" [ultimate]

チェックサムが一致することを確認します:

bash
grep operator-sdk_${OS}_${ARCH} checksums.txt | sha256sum -c -

以下のような出力が表示されるはずです:

bash
operator-sdk_linux_amd64: OK

リリースバイナリをPATHにインストールする

bash
chmod +x operator-sdk_${OS}_${ARCH} && sudo mv operator-sdk_${OS}_${ARCH} /usr/local/bin/operator-sdk

NGC CLIのインストール

このセクションの手順は、NGC CLIインストール に基づいています。

Download CLIをクリックしてバイナリを含むzipファイルをダウンロードし、権限のあるディレクトリにzipファイルを転送してから解凍してバイナリを実行します。また、実行権限のあるディレクトリに移動し、以下のコマンドを実行することで、コマンドラインからダウンロード、解凍、インストールを行うこともできます:

bash
wget --content-disposition https://api.ngc.nvidia.com/v2/resources/nvidia/ngc-apps/ngc_cli/versions/4.3.0/files/ngccli_linux.zip -O ngccli_linux.zip && unzip ngccli_linux.zip

ダウンロード中にファイルが破損していないことを確認するために、バイナリのmd5ハッシュを確認します:

bash
find ngc-cli/ -type f -exec md5sum {} + | LC_ALL=C sort | md5sum -c ngc-cli.md5

ダウンロード中にファイルが破損していないことを確認するために、バイナリのSHA256ハッシュを確認します。以下のコマンドを実行します:

bash
sha256sum ngccli_linux.zip

リソースのリリースノートにも記載されている以下の値と比較してください:

bash
5f01eff85a66c895002f3c87db2933c462f3b86e461e60d515370f647b4ffc21

値を確認した後、NGC CLIバイナリを実行可能にし、現在のディレクトリをパスに追加します:

bash
chmod u+x ngc-cli/ngc
echo "export PATH=\"\$PATH:$(pwd)/ngc-cli\"" >> ~/.bash_profile && source ~/.bash_profile

コマンドを実行できるように、NGC CLIを設定する必要があります。

以下のコマンドを入力し、プロンプトが表示されたらAPIキーを入力してください:

bash
ngc config set

NGC APIキーを含む環境変数を定義します:

bash
export NGC_API_KEY=<your NGC API key>

NVIDIA NIM Operatorのインストール

このセクションの手順は、operator-sdkを使用したRed Hat OpenShiftへのNIM Operatorのインストール(開発専用) に基づいています。

以下のスクリプトを実行して、NIM Operatorをインストールします:

bash
./install-nim-operator.sh

コントローラーPodが実行されていることを確認します:

bash
oc get pods -n nvidia-nim-operator
Last Modified ·