UiPath Documentation
automation-suite
2.2510
true
OpenShift 上的 Automation Suite 安装指南
重要 :
请注意,此内容已使用机器翻译进行了部分本地化。 新发布内容的本地化可能需要 1-2 周的时间才能完成。

Kubernetes 集群和节点

Automation Suite on OpenShift 的 Kubernetes 集群和节点要求。

集群和权限​

您可以使用自己的 Kubernetes 集群,并按照标准实践进行配置和管理。

An admin user must install specific required components separately, before the Automation Suite platform installation. After installing the required components, you can execute the installer. For the list of required permissions, refer to Granting installation permissions.

节点容量​

To estimate node capacity based on your product and scale requirements, use the UiPath Automation Suite Install Sizing Calculator.

代理(工作器)节点的根卷要求为 256 GB。

要开始使用必需的平台服务(身份、许可和路由)和 Orchestrator,您必须为每个节点配置 8 个 vCPU 和 16 GB RAM。

备注:

由于稳定性和性能问题,我们不建议在生产场景中使用 Automation Suite 中的点实例。

自动缩放​

我们建议在集群上启用自动调节功能,以确保高可靠性并避免业务中断。

其他 Automation Suite Robot 要求​

Automation Suite Robot 需要其他工作线程节点。

The hardware requirements for the Automation Suite Robots node depend on the way you plan to use your resources. In addition to the additional agent node requirements, you also need a minimum of 10 GB of file storage to enable package caching.

For details, refer to Storage documentation.

以下部分介绍了影响 Automation Suite Robot 节点所需硬件数量的因素。

机器人尺寸​

下表描述了所有机器人规格所需的 CPU、RAM 和存储空间。

大小CPURAM存储
小0.51 GB1 GB
标准12 GB2 GB
中24GB4GB
大610 GB10 GB

代理节点规格​

Automation Suite Robot 代理节点的资源会影响可并发运行的作业数量。原因是作业的 CPU/RAM 要求需要使用 CPU 内核数和 RAM 容量。

例如,具有 16 个 CPU 和 32 GB RAM 的节点将能够运行以下任何内容:

  • 32 个小型作业
  • 16 个标准作业
  • 8 个中型作业
  • 2 个大型作业

作业规格可以混合使用,因此在任何给定时刻,同一节点都可以运行作业组合,如下所示:

  • 10 个小型作业(消耗 5 个 CPU 和 10 GB RAM)
  • 4 个标准作业 (消耗 4 个 CPU 和 8 GB RAM)
  • 3 个中型作业 (消耗 6 个 CPU 和 12 GB RAM)

Kubernetes 资源消耗​

鉴于节点是 Kubernetes 集群的一部分,服务器上的 Kubernetes 代理 (kubelet) 会消耗少量资源。根据我们的测量结果,kubelet 会使用以下资源:

  • 0.6 个 CPU
  • 0.4 GB 内存

与上述节点类似的节点实际上将具有大约 15.4 个 CPU 和 31.6 GB RAM。

自动选择计算机规格​

All your cross-platform processes have the Automation Suite Robots option set to Automatic by default. This setting selects the appropriate machine size for running the process using serverless robots.

自动选择规格时,系统会按顺序评估下表中列出的条件。只要满足一个标准,就会选择相应的计算机规格,并且不会再评估其余标准。

顺序条件计算机规格
1[远程调试作业]中
2流程取决于用户界面自动化或流程取决于UiPath Document Understanding 活动标准
3其他 Unattended 流程小

其他 Document Understanding 建议​

为了提高性能,您可以在具有 GPU 支持的其他代理节点上安装 Document Understanding。 但请注意,Document Understanding 中基于 AI Center 的项目在没有 GPU 节点的情况下也可以完全正常运行。 实际上,Document Understanding 使用 CPU 虚拟机执行所有提取和分类任务,而对于 OCR,我们强烈建议使用 GPU 虚拟机。

有关 Document Understanding 框架中 CPU/GPU 使用情况的详细信息,请参阅CPU 和 GPU 使用情况。

如果要使用具有 GPU 支持的其他节点,则必须满足以下要求:

硬件最低要求
处理器8 (v-)CPU/内核
RAM52GB
操作系统磁盘256 GB SSD 最低 IOPS:1100
数据磁盘不适用
GPU RAM11GB

添加 GPU 节点池时,请使用 --node-taints nvidia.com/gpu=present:NoSchedule 污染节点。Automation Suite GPU 工作负载配置为仅允许 nvidia.com/gpu 污点键,因此您必须使用此确切键。如果您使用其他密钥污染节点,计划程序无法将 GPU Pod 放置在该节点上,并且它们仍处于未计划状态。

为确保正确安排 GPU 工作负载,请确保您的守护程序集(NFD 或 NVIDIA GPU 运算符)YAML 配置包含匹配的tolerations块。

可以使用以下示例:

tolerations:
- key: "nvidia.com/gpu"
operator: "Equal"
value: "present"
effect: "NoSchedule"
tolerations:
- key: "nvidia.com/gpu"
operator: "Equal"
value: "present"
effect: "NoSchedule"

Automation Suite 支持 NVIDIA GPU。要了解如何配置 NVIDIA GPU(例如驱动程序),请参阅OpenShift 文档。

其他 Document Understanding 新式项目要求​

激活 CPU 推理后,至少需要 2 个 GPU。

To enable CPU inference, set the enable_cpu_inference property to true, as indicated in the Enabling or disabling Document Understanding section.

备注:

推理速度可能会慢最多 10 倍。我们建议将其用于最多 125 页的文档,因为对于较大的文档,推理可能会失败。

在没有 CPU 推理的情况下,Document Understanding 新式项目至少需要5 个 GPU 。下表中的示例场景演示了 5 个 GPU 足以处理 300 页。

备注:

对于 Document Understanding 新式项目,建议的最低 GPU 是 NVIDIA T4。

函数数字
每小时处理的自定义模型页300
开箱即用模型每小时处理的页数0
并行训练模型1
所有项目中的页数 - 设计时200
每个项目版本的文档类型数量3

5 个 GPU 分布在不同的功能之间,如下表所述:

服务GPU 数量
OCR 副本1
自定义模型训练副本1
自定义模型副本2
开箱即用模型副本1
总计5

除了 GPU 需求外,Document Understanding 新式项目还需要特定的 CPU 资源才能获得最佳性能。为获得最佳性能,至少需要18 个 vCPU 。

对于新式 Document Understanding 项目,需要额外 4 TB 的objectstore才能连续执行所提供示例中的活动一年。您可以从较小的数字开始,但存储完成后,除非您显式扩展存储空间,否则该活动将失败。

如果要配置一年的持续处理,则需要 4 TB 用于 Document Understanding 新式项目,512 GB 用于其他产品。 总共为 4.5 TB 的存储空间。 同样,如果您开始的处理时间为六个月,则 Document Understanding 新式项目需要 2 TB,其他产品需要 512 GB。 在本例中,总数为 2.5 TB。

备注:

For more detailed calculations and the capacity required for your needs, refer to the UiPath Automation Suite Install Sizing Calculator.

配置启用 MIG 的 GPU​

Automation Suite Document Understanding 工作负载支持在使用 NVIDIA MIG(多实例 GPU)技术创建的虚拟 GPU (VGPU) 上运行。

要在这些条件下运行 Document Understanding,请记住以下要求:

  • GPU 内存 (VRAM):每个 VGPU 至少 16 GB 。UiPath 仅支持单一策略,这意味着所有 VGPU 将完全相同。
  • 存储空间:每个 VGPU 至少 80 GB
在 Kubernetes 中启用已启用 MIG 的 GPU​

在集群中配置启用了 MIG 的 GPU 后,其配置文件符合或超过上述最低要求,请确保 GPU 是 Kubernetes 可调度的。节点必须报告非零数量的 GPU,然后才能在节点上计划工作负载。

要使 GPU 可计划,您有两个选项:

  • 选项 A:遵循云提供商或 NVIDIA 网站上的官方 GPU 设置文档:
  • 选项 B(可选):直接部署 NVIDIA 设备插件:
    1. 新建命名空间:
      kubectl create namespace gpu-resources
      kubectl create namespace gpu-resources
      
    2. 应用以下配置,并将migEnabledPoolName替换为与您的 GPU 节点匹配的标签:
      apiVersion: v1
      kind: Pod
      metadata:
        name: nvidia-device-plugin-pod
        namespace: gpu-resources
      spec:
       affinity:
          nodeAffinity:
            requiredDuringSchedulingIgnoredDuringExecution:
              nodeSelectorTerms:
              - matchExpressions:
                - key: agentpool
                  operator: In
                  values:
                  # To be changed to a selector that matches the GPU nodes
                  - migEnabledPoolName
       containers:
       - args:
         - --fail-on-init-error=false
         env:
         - name: MPS_ROOT
           value: /run/nvidia/mps
         - name: MIG_STRATEGY
            # We only support the single strategy for now
           value: single
         - name: NVIDIA_MIG_MONITOR_DEVICES
           value: all
         - name: NVIDIA_VISIBLE_DEVICES
           value: all
         - name: NVIDIA_DRIVER_CAPABILITIES
           value: compute,utility
         image: nvcr.io/nvidia/k8s-device-plugin:v0.17.3
         imagePullPolicy: IfNotPresent
         name: nvidia-device-plugin-ctr
         securityContext:
           allowPrivilegeEscalation: true
           capabilities:
             add:
             - SYS_ADMIN
         terminationMessagePath: /dev/termination-log
         terminationMessagePolicy: File
         volumeMounts:
         - mountPath: /var/lib/kubelet/device-plugins
           name: device-plugin
       tolerations:
       - key: CriticalAddonsOnly
         operator: Exists
       - effect: NoSchedule
         key: nvidia.com/gpu
         operator: Exists
       terminationGracePeriodSeconds: 30
       volumes:
       - hostPath:
           path: /var/lib/kubelet/device-plugins
           type: ""
         name: device-plugin
      apiVersion: v1
      kind: Pod
      metadata:
        name: nvidia-device-plugin-pod
        namespace: gpu-resources
      spec:
       affinity:
          nodeAffinity:
            requiredDuringSchedulingIgnoredDuringExecution:
              nodeSelectorTerms:
              - matchExpressions:
                - key: agentpool
                  operator: In
                  values:
                  # To be changed to a selector that matches the GPU nodes
                  - migEnabledPoolName
       containers:
       - args:
         - --fail-on-init-error=false
         env:
         - name: MPS_ROOT
           value: /run/nvidia/mps
         - name: MIG_STRATEGY
            # We only support the single strategy for now
           value: single
         - name: NVIDIA_MIG_MONITOR_DEVICES
           value: all
         - name: NVIDIA_VISIBLE_DEVICES
           value: all
         - name: NVIDIA_DRIVER_CAPABILITIES
           value: compute,utility
         image: nvcr.io/nvidia/k8s-device-plugin:v0.17.3
         imagePullPolicy: IfNotPresent
         name: nvidia-device-plugin-ctr
         securityContext:
           allowPrivilegeEscalation: true
           capabilities:
             add:
             - SYS_ADMIN
         terminationMessagePath: /dev/termination-log
         terminationMessagePolicy: File
         volumeMounts:
         - mountPath: /var/lib/kubelet/device-plugins
           name: device-plugin
       tolerations:
       - key: CriticalAddonsOnly
         operator: Exists
       - effect: NoSchedule
         key: nvidia.com/gpu
         operator: Exists
       terminationGracePeriodSeconds: 30
       volumes:
       - hostPath:
           path: /var/lib/kubelet/device-plugins
           type: ""
         name: device-plugin
      

部署插件后,根据您配置的 MIG 配置文件,节点的“可分配”部分应在nvidia.com/gpu下显示正确的 VGPU 数量。该节点现在应该可计划并准备运行 Document Understanding 工作负载。

其他 Temporal 即服务 (TaaS) 要求​

启用 Maestro 后,TaaS 将作为集群中的一组 Kubernetes 部署运行。在默认配置文件中,TaaS 需要至少 5.5 个 vCore 和 5.5 GB RAM 的可用集群净空。

部署​

TaaS 包含以下 Kubernetes 部署,每个部署负责 Temporal 服务中的不同功能:

部署描述
taas-temporal-frontend所有客户端与 Temporal 服务的连接的入口点
taas-temporal-internalFrontend处理集群内的内部服务间通信
taas-temporal-history管理工作流执行历史记录和状态转换
taas-temporal-matching将计划任务与可用的工作器匹配,以便执行
taas-temporal-worker流程内部时态系统工作流
taas-temporal-web用于可视化和监控工作流的网页用户界面
taas-temporal-admintools部署用于在集群中发出 Temporal 管理员命令的实用程序

Pod 资源要求​

下表列出了每个 TaaS 部署的 CPU 和内存请求和限制。所有 TaaS 配置文件的资源设置都相同。

部署CPU 请求CPU 限制内存请求内存限制
taas-temporal-frontend250 米1256 英里256 英里
taas-temporal-internalFrontend250 米1256 英里256 英里
taas-temporal-history250 米14Gi4Gi
taas-temporal-matching250 米1512 Mi512 Mi
taas-temporal-worker100 米1256 英里256 英里
taas-temporal-web100 米200 米128 英里128 英里
taas-temporal-admintools100 米200 米128 英里128 英里

自动缩放​

TaaS 将 Horizontal Pod Autoscaler (HPA) 用于部分部署。缩放行为取决于 TaaS 配置文件,如下表所述。

默认LiteHA
已启用自动调节否是是
已创建 HPA044
taas-temporal-frontend 副本1(静态)1–3(CPU 80%)2–3(CPU 80%)
taas-temporal-internalFrontend 副本1(静态)1–3(CPU 80%)2–3(CPU 80%)
taas-temporal-history 副本1(静态)1–5(CPU 80% + 内存 70%)2–5(CPU 80% + 内存 70%)
taas-temporal-matching 副本1(静态)1–3(CPU 80%)2–3(CPU 80%)
taas-temporal-worker 副本1(静态)1(静态)2(静态)
taas-temporal-web 副本1(静态)1(静态)1(静态)
taas-temporal-admintools 副本1(静态)1(静态)1(静态)
PDBdisabledenabledenabled
历史分片数量64128256(预览版)

节点调度​

Automation Suite Robot 需要节点污点和标签。对于 Document Understanding,建议使用它们。

AI Center 和 DU 示例:

  • 对于 CPU:

    oc taint node <node_name> aic.ml/cpu=present:NoSchedule
    oc taint node <node_name> aic.ml/cpu=present:NoSchedule
    
  • 对于 GPU:

    oc taint node <node_name> nvidia.com/gpu=present:NoSchedule
    oc taint node <node_name> nvidia.com/gpu=present:NoSchedule
    

Automation Suite Robot 示例:

您必须为 Automation Suite Robot 配置具有正确污点和标签的专用工作器节点。否则,无论其他节点上的可用资源如何,AsRobot Pod 都将无法计划。

运行以下两个命令 - 单独污点是不够的:

oc taint node <node_name> serverless.robot=present:NoSchedule
oc label node <node_name> serverless.robot=true serverless.daemon=true
oc taint node <node_name> serverless.robot=present:NoSchedule
oc label node <node_name> serverless.robot=true serverless.daemon=true
重要提示:

如果您有网守策略强制执行的自定义节点污点,例如工作线程节点的特定角色或标签,则这些污点不会传递到 Automation Suite ,并且可能会中断安装过程。

要了解有关污点和容忍的信息,请参阅Kubernetes 文档。

其他自托管模型要求​

自托管模型需要 GPU 硬件。最低要求取决于模型大小:

模型大小最低 GPU 配置
7B 参数1 个 80 GB GPU(3 个 GPU)
70B 参数4 个 80 GB GPU
超过 120B 个参数8 个 80 GB GPU

For details, refer to Self-hosted models.

此页面有帮助吗?

连接

需要帮助? 支持

想要了解详细内容? UiPath Academy

有问题? UiPath 论坛

保持更新