订阅

UiPath AI Center™

UiPath AI Center™

管理节点计划

概述


📘

备注:

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

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

  • 当您有 GPU 节点时,请确保在该节点上仅计划需要 GPU 的工作负载
  • 为了更好地隔离 ML 工作负载,使其不会干扰其他应用程序。
    默认情况下,Kubernetes 调度程序将具有所需资源的所有节点视为相同。

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

  • Assign Pods to Nodes using Node Affinity: this is useful when collocating ML pods with other pods on a node. Multiple labels can be applied to a node.
  • Taints and Tolerations: intended for a dedicated node, either repelling all pods (NoSchedule), or imposing a low scheduling preference (PreferNoSchedule) for pods that don't match the scheduling criteria. Although multiple taints can be applied to a node(s), node taints only support the “AND” Boolean logic.

节点亲和性是 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.cpu

2 个月前更新

管理节点计划


建议的编辑仅限用于 API 参考页面

您只能建议对 Markdown 正文内容进行编辑,而不能建议对 API 规范进行编辑。