UiPath Documentation
ai-center
2021.10
false
AI Center インストール ガイド
重要 :
このコンテンツの一部は機械翻訳によって処理されており、完全な翻訳を保証するものではありません。 新しいコンテンツの翻訳は、およそ 1 ~ 2 週間で公開されます。

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

概要

注:

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

ノードのスケジュール設定は特に、ハードウェアの運用を効率化し、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.cpu
kubectl taint node <node_name> nvidia.com/gpu=present:PreferNoSchedule
kubectl label node <node_name> node.type=aic.ml.cpu

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

接続

ヘルプ リソース サポート

学習する UiPath アカデミー

質問する UiPath フォーラム

最新情報を取得