NVIDIA、共有GPU環境上で隔離されたKubernetesクラスターを動作させる設計パターンを公開
要点
- NVIDIAは、1基の物理GPUを共有しながら、複数チームが互いに干渉しない独立したKubernetes環境を構築する設計パターンを発表した。
- オープンソースの仮想クラスターツール「vCluster」と、GPU向けスケジューラー「KAI Scheduler」を組み合わせることで実現する。
- 各チームは、独自のカスタムリソース(CRD)の適用や管理者権限の取得など、高い自律性を保った開発が可能になる。
- 物理的なハードウェア分割が不要になるため、インフラの利用効率を最大化しつつ、運用の複雑さを解消できる。
NVIDIAは2026年8月3日(現地時間)、同社の技術ブログ「NVIDIA Technical Blog」にて、共有GPUインフラストラクチャ上で完全に隔離されたKubernetes(コンテナ化されたアプリケーションの配備や管理を自動化するオープンソースのプラットフォーム)のテナントクラスターを実行するための設計パターンを公開した。この手法は、オープンソースの仮想クラスターツール「vCluster」と、GPU向けに最適化されたトポロジー認識型のスケジューラー「KAI Scheduler」を組み合わせたもので、ハードウェアを物理的に分割することなく各チームの自律性を確保できるという。
共有環境におけるKubernetes運用の課題
通常、開発チームごとに専用のKubernetesクラスターを運用すると、組織が必要とする以上の過剰な環境隔離が生じ、インフラコストの増加を招きやすい。一方で、コスト削減のために1つのクラスターを多くのチームで共有すると、カスタムリソース定義(CRD:ユーザー独自のAPIを追加して機能を拡張する定義)のバージョン衝突や、役割ベースのアクセス制御(RBAC)の重複、さらにはGPU容量をチームごとの予算に沿って切り分ける明確な方法がないといった調整コストが増大する。
NVIDIAが提示した新たなパターンは、これらの課題を解消し、単一の物理GPUプールを維持したまま、チームごとにAPIサーバーやデータストア、スケジューラーを含む独立したKubernetesコントロールプレーンを提供するものである。
仮想クラスターを実現する「vCluster」
本手法で重要な役割を果たすのが、オープンソースの「vCluster」である。vClusterは、既存のインフラストラクチャやベアメタル(仮想化ソフトウェアを用いず物理サーバー上で直接動作する環境)の上に、完全に隔離されたテナントクラスターを構築するプラットフォームだ。
各テナントには、専用のKubernetesクラスターと区別がつかない独立したAPIサーバー、CRD、RBACが提供される。仮想化されたコントロールプレーンは他のテナントやホスト側から見えず、共有コントロールプレーンのノードやクラスター内のエージェントPod(プログラムの実行や管理を行う最小単位)の存在も隠蔽される。
今回の実証では、信頼できる内部チーム間での利用を想定し、GPUノードを共有しながらコントロールプレーンを隔離する「共有ノード(shared-nodes)モデル」が採用されている。なお、より厳密な分離が必要な場合には、ノード、ネットワーク、ストレージのレベルで分離する「プライベートノード(private nodes)モデル」への拡張も可能であるとしている。
GPU割り当てを最適化する「KAI Scheduler」
仮想クラスター上での的確なGPUリソースの制御には、もう一つのオープンソースツール「KAI Scheduler」が用いられる。
KAI Schedulerは、大規模なAI(人工知能)ワークロード向けにGPU割り当てを最適化することを目的に開発された、トポロジー(ハードウェアの接続構造)を認識するスケジューラーである。数千ノード規模のクラスターや高スループットの処理に対応し、チームごとのクォータ(割り当て制限)や動的なGPUリソース配分を可能にする。
本スケジューラーは、Kubernetes標準のスケジューラー(kube-scheduler)と並行して動作させることができる。Podの定義でスケジューラー名に「kai-scheduler」を指定したワークロードのみがKAI Schedulerによって処理され、それ以外は標準のスケジューラーによって処理される仕組みだ。
3つのチームによる検証デモ
ブログでは、要求の異なる3つのチーム(自然言語処理の「NLPチーム」、画像認識の「Visionチーム」、推薦システムの「Recommender Systemチーム」)が1基の物理GPUを分割して共有するデモシナリオが紹介されている。
- NLPチームは、独自のCRDを導入したい。
- Visionチームは、スケジューリングをデバッグするためにクラスターの最高管理者権限(cluster-admin)が必要である。
- Recommender Systemチームは、他チームとは異なるバージョンの機械学習プラットフォーム「Kubeflow」を使用したい。
通常であれば、これらの要求を同時に満たすには別々のクラスターを構築せざるを得ないが、vClusterとKAI Schedulerの組み合わせにより、1基のGPUノードを共有した状態で、各チームに独立した名前空間(ネームスペース)、CRD、管理者権限を提供できる。これにより、あるチームの設定やデバッグ作業が他のチームの環境を誤って破損させるリスクを排除しつつ、運用の自律性を保つことができるという。
デモの実行環境
この検証デモは、NVIDIA BrevのGPUインスタンス(インフラサービス「Nebius」上)で実行された。
デモ環境の具体的なスペックは以下の通りである。
- ハードウェア: NVIDIA L40S GPU 1基、40 vCPU、160 GiBのシステムメモリ、256 GiBのストレージ容量(ビデオメモリは48 GB)
- オペレーティングシステム: Ubuntu 24.04.4 LTS
- ソフトウェア構成: MicroK8s v1.36.2(NVIDIA GPU Operatorがプリインストールされた軽量のKubernetesパッケージ)、KAI Scheduler v0.16.4、vCluster CLI 0.35.1
NVIDIAは、このデモ環境での手順は、数百のGPUノードと数十のチームが存在するような、より大規模な本番環境においても同様の仕組みで拡張できると説明している。