Skip to main content

GPU 対応ノードの構成

Kubernetes には、 デバイス プラグイン を使用して、クラスター内の異なるノード間で GPU (グラフィカル プロセシング ユニット) を管理するためのサポートが含まれています。

ArcGIS Enterprise on Kubernetes では、クラスター内の GPU ノードを有効にするためのデバイス プラグインを実装して、ラスター解析やディープ ラーニングなどに関連する GIS ワークフローを最適化することができます。 デフォルトでは、ラスター解析などの機能は、CPU モードで実行されるように構成されますが、これらのリソースが利用可能な場合は、柔軟に GPU モードで実行されるようにすることもできます。 GPU 対応ノードは一般的にコストが高いため、これらのタイプのノードを使用することがワークロードにとって有益かどうかを検討してください。

すべての GPU 対応ワークロードに対し、十分な GPU リソースがあることを確認します。 たとえば、1 つのラスター解析ポッドは、1 GPU を消費します。 これらのポッドのレプリカを 10 個サポートするには、GPU 対応ノード全体で 10 GPU が利用可能でなくてはなりません。

GPU の有効化

ワークロードで GPU の使用を有効にするには、次の手順に従います:

  1. インスタンスに、Kubernetes 向けの NVIDIA デバイス プラグインがインストールされていることを確認します。

    Kubernetes 向け NVIDIA デバイス プラグインは、クラスターのノードごとの GPU 数の表示、GPU 対応コンテナーの実行、GPU の正常性の追跡を可能にする DaemonSet です。 多くのクラウド環境には、GPU ノードが事前に構成されています。 デバイス プラグインがインストールされていない場合は、 Kubernetes 向け NVIDIA デバイス プラグインのドキュメント で詳細およびインストール手順をご確認ください。 オンプレミスでデプロイした場合は、管理者が、クラスター内の各ノードで GPU を有効にする必要があります。

    注意:

    このリリースの ArcGIS Enterprise on Kubernetes は NVIDIA GPU でのみサポートされます。

  2. 必要に応じて、GPU ノードのカスタム ラベルを作成します。

    ポッド配置ルールを使用して、これらのノードにワークロードをスケジュールできるよう、GPU ノードにラベルを付けることをおすすめします。 次のコマンドを使用し、各ノードにラベルを付けます:

    kubectl label nodes <your-node-name> <your-key>=<your-value>

  3. GPU を使用するようサービスを構成します。

    ノートブック サービス用に GPU を有効化する場合は、「 ランタイムの表示および編集 」を参照して、ノードごとの GPU ユニットの設定方法をご確認ください。 ラスター解析に対して GPU を有効にするには、「 ラスター解析用の GPU リソースの有効化 」をご参照ください。

  4. 必要に応じて、GPU を必要とするワークロードのみが GPU 対応ノードにスケジュールされるよう、テイントを使用します。

    ノードをテイントする前に、GPU 対応ノードで実行するワークロードに耐障害性を適用します。 次のコマンドを使用し、GPU ノードをテイントします:

    kubectl taint nodes <your-node-name> nvidia.com/gpu=Exists:NoExecute