ai-center
2024.10
true
UiPath logo, featuring letters U and I in white
AI Center ガイド
Automation CloudAutomation SuiteStandalone
Last updated 2024年11月11日

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

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

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

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

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

There are two methods in which you can direct the scheduling of ML replicas (pods), skills, or pipelines to specific nodes, and both are supported in 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

このページは役に立ちましたか?

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