2.2. NVIDIA GPU の有効化
以下の図は、OpenShift で GPU アーキテクチャーがどのように有効になっているかを示しています。
図2.1 NVIDIA GPU の有効化
MIG は、A30、A100、A100X、A800、AX800、H100、H800 でのみサポートされます。
2.2.1. GPU とベアメタル
NVIDIA 認定のベアメタルサーバーに OpenShift Container Platform をデプロイできますが、いくつかの制限があります。
- コントロールプレーンノードは CPU ノードにできます。
AI/ML ワークロードがワーカーノードで実行される場合、そのワーカーノードは GPU ノードである必要があります。
さらに、ワーカーノードは 1 つ以上の GPU をホストできますが、すべて同じタイプである必要があります。たとえば、ノードには 2 つの NVIDIA A100 GPU が存在することは可能ですが、A100 GPU と T4 GPU を 1 つずつ備えたノードはサポートされません。Kubernetes の NVIDIA デバイスプラグインは、同じノード上で異なる GPU モデルの組み合わせをサポートしません。
- OpenShift を使用する場合は、1 台または 3 台以上のサーバーが必要な点に注意してください。2 台のサーバーを含むクラスターはサポートされません。単一サーバーのデプロイメントはシングルノード openShift (SNO) と呼ばれ、この設定を使用すると、高可用性 OpenShift 環境が得られません。
以下のいずれかの方法で、コンテナー化された GPU にアクセスできます。
- GPU パススルー
- マルチインスタンス GPU (MIG)
2.2.2. GPU と仮想化
多くの開発者や企業がコンテナー化されたアプリケーションやサーバーレスインフラストラクチャーに移行していますが、仮想マシン上で実行されるアプリケーションの開発と保守は引き続き注目されています。Red Hat OpenShift Virtualization はこの機能を提供し、企業はこの機能を使用して仮想マシンをクラスター内のコンテナー化されたワークフロー組み込むことができます。
ワーカーノードを GPU に接続する場合は、次のいずれかの方法を選択できます。
- 仮想マシン内の GPU ハードウェアにアクセスして使用するための GPU パススルー。
- GPU コンピュート容量がワークロードでいっぱいになっていない場合の GPU (vGPU) のタイムスライス。
2.2.3. GPU と vSphere
OpenShift Container Platform は、さまざまな GPU タイプをホストできる NVIDIA 認定の VMware vSphere サーバーにデプロイできます。
仮想マシンで vGPU インスタンスが使用されている場合は、NVIDIA GPU ドライバーをハイパーバイザーにインストールする必要があります。VMware vSphere の場合、このホストドライバーは VIB ファイルの形式で提供されます。
ワーカーノード仮想マシンに割り当てることができる vGPUS の最大数は、vSphere のバージョンによって異なります。
- vSphere 7.0: 仮想マシンごとに最大 4 つの仮想 GPU
vSphere 8.0: 仮想マシンごとに最大 8 つの仮想 GPU
注記vSphere 8.0 では、仮想マシンに関連付けられた複数の完全または部分的な異種プロファイルのサポートが導入されました。
次のいずれかの方法を選択して、ワーカーノードを GPU に割り当てることができます。
- 仮想マシン内の GPU ハードウェアにアクセスして使用するための GPU パススルー
- すべての GPU が必要でない場合の GPU (vGPU) タイムスライス
ベアメタルデプロイメントと同様に、1 台または 3 台以上のサーバーが必要です。2 台のサーバーを含むクラスターはサポートされません。
2.2.4. GPU および Red Hat KVM
OpenShift Container Platform は、NVIDIA 認定のカーネルベースの仮想マシン (KVM) サーバー上で使用できます。
ベアメタルデプロイメントと同様に、1 台または 3 台以上のサーバーが必要です。2 台のサーバーを含むクラスターはサポートされません。
ただし、ベアメタルデプロイメントとは異なり、サーバーで異なるタイプの GPU を使用できます。これは、GPU を Kubernetes ノードとして機能する別の仮想マシンに割り当てることができるためです。唯一の制限として、Kubernetes ノードがノードと同レベルで GPU タイプのセットを持つ必要があります。
以下のいずれかの方法で、コンテナー化された GPU にアクセスできます。
- 仮想マシン内の GPU ハードウェアにアクセスして使用するための GPU パススルー
- すべての GPU が必要でない場合の GPU (vGPU) タイムスライス
vGPU 機能を有効にするには、特別なドライバーをホストレベルでインストールする必要があります。このドライバーは RPM パッケージとして提供されます。このホストドライバーは、GPU パススルーの割り当てにはまったく必要ありません。
2.2.5. GPU と CSP
OpenShift Container Platform は、主要なクラウドサービスプロバイダー (CSP) である Amazon Web Services (AWS)、Google Cloud Platform (GCP)、Microsoft Azure のいずれかにデプロイできます。
フルマネージドデプロイメントとセルフマネージドデプロイメントの 2 つのオペレーションモードを使用できます。
- フルマネージドデプロイメントでは、Red Hat が CSP と連携してすべてを自動化します。CSP Web コンソールを使用して OpenShift インスタンスを要求でき、クラスターは Red Hat によって自動的に作成され、完全に管理されます。この環境内では、ノードの障害やエラーについて心配する必要はありません。Red Hat が、クラスターの稼働時間を維持する全責任を負います。フルマネージドサービスは、AWS および Azure で利用できます。AWS の場合、OpenShift サービスは ROSA (Red Hat OpenShift Service on AWS) と呼ばれます。Azure の場合、サービスは Azure Red Hat OpenShift と呼ばれます。
- セルフマネージドデプロイメントでは、OpenShift クラスターのインスタンス化と維持を行う必要があります。この場合、Red Hat は OpenShift クラスターのデプロイメントをサポートするために、OpenShift-install ユーティリティーを提供します。セルフマネージドサービスは、すべての CSP がグローバルに利用できます。
このコンピュートインスタンスが GPU により高速化されたコンピュートインスタンスであること、および GPU タイプが NVIDIA AI Enterprise でサポートされている GPU のリストと一致することが重要です。たとえば、T4、V100、A100 はこのリストに含まれます。
以下のいずれかの方法で、コンテナー化された GPU にアクセスできます。
- 仮想マシン内の GPU ハードウェアにアクセスして使用するための GPU パススルー。
- GPU 全体を必要としない場合 GPU (vGPU) タイムスライス。
2.2.6. GPU と Red Hat Device Edge
Red Hat Device Edge は MicroShift へのアクセスを提供します。MicroShift は、シングルノードデプロイメントのシンプルさと、リソースに制約のある (エッジ) コンピューティング求められる機能とサービスを備えています。Red Hat Device Edge は、リソースに制約のある環境にデプロイされるベアメタル、仮想、コンテナー化された、または Kubernetes のワークロードのニーズを満たします。
Red Hat Device Edge 環境のコンテナー上で NVIDIA GPU を有効にできます。
コンテナー化された GPU へのアクセスには、GPU パススルーを使用します。