AI Center
2021.10
バナーの背景画像
AI Center インストール ガイド
最終更新日 2024年3月11日

ノードのスケジュール設定を管理する

概要

注: ノードのスケジュール設定はエージェント ノードにのみ適用可能です。サーバー ノードには適用しないでください。

ノードのスケジュール設定は特に、ハードウェアの運用を効率化し、ML レプリカ (ポッド)、スキル、パイプラインを確実に処理するのに役立ちます。主に次の 2 つの状況で使用します。

  • GPU ノードがある場合に、GPU を必要とするワークロードだけがそのノードでスケジュール設定されるようにする場合
  • ML ワークロードの分離を向上させ、ML ワークロードが他のアプリケーションの妨げにならないようにする場合

    既定では、必要なリソースを持つノードは Kubernetes スケジューラーによってすべて等しいと見なされます。

ML レプリカ (ポッド)、スキル、またはパイプラインのスケジュール設定を特定のノードに移動する方法は 2 つあり、どちらの方法も UiPath AI Center™ でサポートされています。

  • Node Affinity を利用して Pod をノードに割り当てる: ML ポッドをノード上の他のポッドと併置する場合に便利です。1 つのノードに複数のラベルを適用できます。
  • Taint と Toleration: 専用ノード向けです。すべてのポッドを排除するか (NoSchedule)、またはスケジュール設定の条件に一致しないポッドに低いスケジュール設定を適用します (PreferNoSchedule)。1 つまたは複数のノードに複数の taint を適用できますが、ノードの taint では「AND」の Boolean 論理のみがサポートされます。

ノード アフィニティは、ポッドを一連のノードに引き付けるポッド プロパティであり、優先条件または要件のいずれかとして設定します。これに対し、taint ではノードで一連のポッドを排除できます。

1 つ目の方法では、ノード ラベルを使用してレプリカとノードの間にアフィニティを作成します。一方、2 つ目の方法では、ノードに taint を割り当てることでアンチアフィニティを適用します。

ML レプリカの PodSpec テンプレートは、両方の方法をサポートするよう設計されており、デプロイ時に GPU または GPU なしのどちらを選択するかに基づいてカスタマイズされます。

ノード アフィニティ

エージェント ノードを追加してリソース プールを拡張している状況で、エージェント ノードでの ML ポッドのスケジュール設定に影響を与えたい場合は、ノード アフィニティを適用できます。そのためには、以下のコマンドを使用してノードにラベルを追加します。

  • CPU の場合: kubectl label node <node_name> node.type=aic.ml.cpu
  • GPU の場合: kubectl label node <node_name> node.type=aic.ml.gpu

ノード アフィニティを使用しても、ノードが確実に ML ワークロードへのサービング専用になるわけではありません。また、ラベルが適用された同じノードに、他のワークロード ポッドがスケジュール設定されなくなるわけではありません。

Taint

ノードを専用にするには、taint を使用するか、ノード アフィニティと taint を組み合わせて使用する必要があります。エージェント ノードを ML GPU ポッドまたは ML CPU ポッドへのサービング専用にするには、ノードに次の taint を適用します。

  • CPU の場合: kubectl taint node <node_name> aic.ml/cpu=present:NoSchedule
  • GPU の場合: kubectl taint node <node_name> nvidia.com/gpu=present:NoSchedule

ノード アフィニティと taint を組み合わせる

エージェント ノードを ML GPU ポッドへのサービング専用にし、同じノードへの ML CPU ポッドのスケジュール設定に影響を及ぼすには、ノード アフィニティと taint を組み合わせて使用できます。

kubectl taint node <node_name> nvidia.com/gpu=present:PreferNoSchedule
kubectl label node <node_name> node.type=aic.ml.cpukubectl taint node <node_name> nvidia.com/gpu=present:PreferNoSchedule
kubectl label node <node_name> node.type=aic.ml.cpu

Was this page helpful?

サポートを受ける
RPA について学ぶ - オートメーション コース
UiPath コミュニティ フォーラム
UiPath ロゴ (白)
信頼とセキュリティ
© 2005-2024 UiPath. All rights reserved.