ai-center
2022.10
false
UiPath logo, featuring letters U and I in white
AI Center 用户指南
Automation CloudAutomation SuiteStandalone
Last updated 2024年10月17日

管理节点安排

注意: 节点计划仅适用于代理节点,不应应用于服务器节点。

节点计划对于更好地处理硬件并确保 ML 副本 (pod)、技能或管道尤其有用。 您应该主要在两种情况下使用它们:

  • 当您有 GPU 节点时,请确保在该节点上仅计划需要 GPU 的工作负载
  • 为了更好地隔离 ML 工作负载,使其不会干扰其他应用程序。

    默认情况下,Kubernetes 调度程序将具有所需资源的所有节点视为相同。

您可以使用UiPath AI Center支持的两种方法将 ML 副本 (Pod)、技能或管道计划定向到特定节点:

  • 使用节点关联性将 Pod 分配给节点:这在将 ML Pod 与节点上的其他 Pod 并置时非常有用。 可以将多个标签应用于一个节点。
  • 污点和容忍度:适用于专用节点,可以排斥所有 Pod ( NoSchedule ),或对与计划条件不匹配的 Pod 施加较低的计划首选项 ( PreferNoSchedule )。 虽然可以将多个污点应用于节点,但节点污点仅支持“AND”布尔逻辑。

节点亲和性是 Pod 的一个属性,可将 Pod 作为首选项或要求吸引到一组节点。 另一方面,污点允许节点排斥一组 Pod。

第一种方法使用节点标签在副本和节点之间创建亲和性,而第二种方法通过污染节点来应用反亲和性。

ML 副本的PodSpec模板旨在支持这两种方法,并根据部署时的 GPU 或非 GPU 选择进行自定义。

节点亲和性

如果已添加代理节点以扩展资源池,并且您希望影响其上 ML Pod 的计划,则可以应用节点关联性。 为此,请使用以下命令向节点添加标签:

  • 对于 CPU: kubectl label node <node_name> node.type=aic.ml.cpu
  • 对于 GPU: kubectl label node <node_name> node.type=aic.ml.gpu

节点关联性不能确保节点专用于为 ML 工作负载提供服务,也不会阻止其他工作负载 Pod 调度到应用标签的同一节点。

污点

要专用节点,您需要使用污点或节点关联性和污点的组合。 要将代理节点专用于为 ML GPU 或 CPU Pod 提供服务,您可以将以下污点应用于节点:

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

结合节点亲和性和污点

要将代理节点专用于 ML GPU Pod 并对同一节点使用 ML CPU Pod 的安排产生影响,您可以结合使用节点关联和污点:
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 Community 论坛
Uipath Logo White
信任与安全
© 2005-2024 UiPath。保留所有权利。