Nutanix Enterprise AI(NAI)2.4 を展開してみます。今回は、Nutanix AHV クラスタ上の Nutanix Kubernetes Platform(NKP)に NAI を展開します。
まずは、前提となる Nutanix AHV クラスタの準備について説明します。
今回の内容です。
1. Nutanix AHV のクラスタ(GPU 搭載)
NKP + NAI の展開先として、AHV の Nutanix クラスタを用意しておきます。
1-1. CPU / メモリ リソース
NKP の上位ライセンス キーを設定すると、自動的に多数のコンテナが追加起動されます。NAI 展開前の時点でも、NKP の Kubernetes クラスタを構成する下記の仮想マシンを展開できる物理リソースが必要です。
- Control Plane 仮想マシン:4 vCPU、16 GB メモリ x 3ノード
- Worker 仮想マシン:8 vCPU、32 GB メモリ x 4ノード
1-2. iSCSI Data Services IP アドレスの設定
Nutanix CSI から Nutanix Volumes の Volume Group を使用するため、iSCSI Data Services IP アドレスを設定しておきます。
1-3. サブネットの用意
NAI の環境は、ネットワーク(サブネット)は1つで構築できます。今回は、NKP クラスタ ノードの仮想マシンのために、VLAN サブネットを作成して、Nutanix IPAM を有効にしてあります。
1-4. GPU
今回は、AHV ホストに NVIDIA の A16(NAI ではサポートされていませんが)を搭載してあります。
NKP ノードの仮想マシンでは GPU Passthrough 接続で使用するので、AHV 側では特に GPU ドライバのインストールなどを実施していません。
2. Prism Central
Nutanix Kubernetes Platform では Prism Central が必須なので、Prism Central を展開して、AHV クラスターの Prism Element を登録しておきます。
ちなみに、今回は下記のバージョンを使用しています。
- Prism Central pc.2024.3.1
3. Nutanix Files の NFS サーバー
NAI でのモデル保存先として、Nutanix Files の NFS サーバーを使用します。NFS 共有は PVC の動的プロビジョニングで自動作成されるため、ここでは NFS ファイル サーバーのみを作成しておきます。
3-1. NFS ファイルサーバーの作成
Prism Element で、NFSv4 のファイルサーバーを作成します。これは、Prism Central の Quick Access 経由ではなく、直接 Prism Element にログインして作業します。
Nutanix CSI 3.2 + Nutanix Files 5.0 までは、CSI での接続が Prism Element で作成した Nutanix Files ファイル サーバーを利用する必要がありました。しかし、CSI 3.3 + Files 5.1 では、Prism Central で作成したファイル サーバーでもサポートされるようです。ひとまず今回は、従来どおり Prism Element で作成するファイル サーバーを使用しています。
ちなみに、今回の Nutanix Files バージョンは下記です。
- Nutanix Files v5.1.1.2
ファイル サーバー(FSVM)の台数は、1ノードでも大丈夫です。
3-2. CSI 接続用 REST API アクセス ユーザーの作成
Prism Element のファイル サーバー画面から「Launch Files Console」を開き、「Configuration」タブ →「Manage Roles」→「REST API access users」で、API 接続用のユーザーを作成しておきます。
- USERNAME:csiuser
- PASSWORD:設定するパスワードを入力
4. DNS サーバー
NAI では、基本的に下記のあたりには DNS 名前解決によるホスト名(FQDN)でアクセスします。
- Nutanix Filse の NFS ファイル サーバー
- NAI の Web UI と、推論サーバ エンドポイント
通常は NAI で使用する SSL/TLS 証明書にも FQDN を指定するため、DNS サーバーに A レコード登録することになります。しかし今回は検証環境なので、DNS サーバーの構築は省略しています。
つづく。
