UiPath Documentation
automation-suite
2.2510
true
Guía de instalación de Automation Suite en OpenShift
Importante :
Este contenido se ha localizado parcialmente a partir de un sistema de traducción automática. La localización de contenidos recién publicados puede tardar entre una y dos semanas en estar disponible.

Clúster y nodos de Kubernetes

Requisitos del clúster y nodo de Kubernetes para Automation Suite en OpenShift.

Clúster y permisos​

Puedes traer tu propio clúster de Kubernetes y seguir tus prácticas estándar para aprovisionarlo y gestionarlo.

Un usuario administrador debe instalar los componentes específicos necesarios por separado, antes de la instalación de la plataforma de Automation Suite. Después de instalar los componentes necesarios, puedes ejecutar el instalador. Para obtener la lista de permisos necesarios, consulta Conceder permisos de instalación.

Capacidad de nodo​

Para estimar la capacidad del nodo en función de tu producto y los requisitos de escala, utiliza la Calculadora de tamaño de instalación de UiPath Automation Suite.

El requisito de volumen raíz para los nodos agente (trabajador) es de 256 GB.

Como mínimo, para comenzar con los servicios obligatorios de la plataforma (identidad, licencias y enrutamiento) y Orchestrator, debes aprovisionar 8 vCPU y 16 GB de RAM por nodo.

Nota:

No recomendamos utilizar instancias puntuales en Automation Suite en escenarios de producción, debido a problemas de estabilidad y rendimiento.

Ajuste de escala automático​

Recomendamos habilitar el escalado automático en el clúster para garantizar una alta fiabilidad y evitar interrupciones comerciales.

Requisitos adicionales de Automation Suite Robots​

Automation Suite Robot requieren nodos de trabajo adicionales.

Los requisitos de hardware para el nodo Robots de Automation Suite dependen de la forma en que planees utilizar tus recursos. Además de los requisitos adicionales del nodo agente, también necesitas un mínimo de 10 GB de almacenamiento de archivos para habilitar el almacenamiento en caché de paquetes.

Para obtener más información, consulta Documentación de almacenamiento .

Las siguientes secciones describen los factores que afectan la cantidad de hardware que requiere el nodo de Automation Suite Robots.

Tamaño del robot​

La siguiente tabla describe la CPU, la RAM y el almacenamiento necesarios para todos los tamaños de robot.

TamañoCPURAMAlmacenamiento
Pequeño0.51 GB1 GB
Estándar12 GB2 GB
Medio24 GB4 GB
Grande610 GB10 GB

Tamaño del nodo del agente​

Los recursos del nodo agente de Automation Suite Robots tienen un impacto en el número de trabajos que se pueden ejecutar simultáneamente. La razón es que el número de núcleos de CPU y la cantidad de capacidad de RAM se dividen por los requisitos de CPU/RAM del trabajo.

Por ejemplo, un nodo con 16 CPU y 32 GB de RAM podría ejecutar cualquiera de las siguientes opciones:

  • 32 Pequeños trabajos
  • 16 trabajos estándar
  • 8 trabajos medios
  • 2 trabajos grandes

Los tamaños de trabajo pueden combinarse, por lo que, en cualquier momento, el mismo nodo podría ejecutar una combinación de trabajos como el siguiente:

  • 10 trabajos pequeños (que consumen 5 CPU y 10 GB de RAM)
  • 4 trabajos estándar (que consumen 4 CPU y 8 GB de RAM)
  • 3 trabajos medianos (que consumen 6 CPU y 12 GB de RAM)

Consumo de recursos de Kubernetes​

Dado que el nodo forma parte de un clúster de Kubernetes, el agente de Kubernetes presente en el servidor (kubelet) consume una pequeña cantidad de recursos. Según nuestras mediciones, el kubelet consume los siguientes recursos:

  • 0,6 CPU
  • 0,4 GB de RAM

Un nodo similar al descrito anteriormente tendría aproximadamente 15.4 CPU y 31.6 GB de RAM.

Selección automática del tamaño de la máquina​

Todos sus procesos multiplataforma tienen la opción Robots de Automation Suite establecida como Automático de forma predeterminada. Este ajuste selecciona el tamaño de máquina adecuado para ejecutar el proceso usando robots sin servidor.

Al elegir automáticamente el tamaño, los criterios enumerados en la siguiente tabla se evalúan en orden. Tan pronto como se satisface un criterio, se elige el tamaño de máquina correspondiente y los criterios restantes no se evalúan.

OrdenCriterioTamaño de la máquina
1Trabajo de depuración remotaMedio
2El proceso depende de la automatización de IU O el proceso depende de las actividades de UiPath Document UnderstandingEstándar
3Otro proceso desatendidoPequeño

Recomendaciones adicionales de Document Understanding​

Para aumentar el rendimiento, puedes instalar Document Understanding en un nodo agente adicional compatible con GPU. Sin embargo, ten en cuenta que los proyectos basados en AI Center en Document Understanding son totalmente funcionales sin el nodo GPU. En realidad, Document Understanding utiliza máquinas virtuales de CPU para todas sus tareas de extracción y clasificación, mientras que para OCR recomendamos encarecidamente el uso de una máquina virtual de GPU.

Para obtener más información sobre el uso de CPU/GPU dentro del marco de Document Understanding, consulta Uso de CPU y GPU.

Si quieres utilizar un nodo adicional compatible con GPU, debes cumplir los siguientes requisitos:

HardwareRequisitos mínimos
Procesador8 (v)CPU/núcleos
RAM52 GB
Disco del sistema operativo256 GB SSD Mínimo IOPS: 1100
DiscoDeDatosN/D
RAM de GPU11 GB

Al añadir el grupo de nodos de la GPU, modifica los nodos con --node-taints nvidia.com/gpu=present:NoSchedule. Las cargas de trabajo de GPU de Automation Suite están configuradas para tolerar solo la clave de taint nvidia.com/gpu, por lo que debes utilizar exactamente esta clave. Si contaminas los nodos con una clave diferente, el programador no puede colocar los pods de GPU en el nodo y permanecen sin programar.

Para garantizar la programación adecuada de las cargas de trabajo de la GPU, asegúrate de que tu configuración YAML de DaemonSet (NFD o Nvidia GPU Operador) incluya un bloque tolerations coincidente.

Puedes utilizar el siguiente ejemplo:

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

Automation Suite es compatible con las GPU NVIDIA. Para obtener más información sobre cómo configurar las GPU NVIDIA (como los controladores), consulta la documentación de OpenShift.

Documento adicional Comprender los requisitos de los proyectos modernos​

Con la inferencia de CPU activada, se requiere un mínimo de 2 GPU.

Para habilitar la inferencia de la CPU, establece la propiedad enable_cpu_inference en true, como se indica en la sección Habilitar o deshabilitar Document Understanding .

Nota:

La inferencia puede ser hasta 10 veces más lenta. Recomendamos utilizarlo para documentos con un máximo de 125 páginas, ya que la inferencia puede fallar para documentos más grandes.

Sin la inferencia de la CPU, se requiere un mínimo de 5 GPU para los proyectos modernos de Document Understanding. El escenario de ejemplo de la siguiente tabla demuestra cómo 5 GPU son suficientes para procesar 300 páginas.

Nota:

Para los proyectos modernos de Document Understanding, la GPU mínima recomendada es NVIDIA T4.

FunciónNúmero
Páginas de modelo personalizadas procesadas por hora300
Páginas de modelo listas para usar procesadas por hora0
Entrenamiento de modelos en paralelo1
Número de páginas en todos los proyectos: tiempo de diseño200
Número de tipos de documentos por versión del proyecto3

Las 5 GPU se distribuyen entre diferentes funciones, como se detalla en la siguiente tabla:

ServicioNúmero de GPU
Réplicas de OCR1
Réplicas de entrenamiento de modelos personalizados1
Réplicas de modelos personalizados2
Réplicas de modelos listas para usar1
Total5

Además de las demandas de la GPU, los proyectos modernos de Document Understanding también requieren recursos específicos de la CPU para un rendimiento óptimo. Para un rendimiento óptimo, se requiere un mínimo de 18 vCPU .

Con el proyecto moderno de Document Understanding, se requieren 4 TB adicionales de objectstore para realizar las actividades de los ejemplos proporcionados de forma continua durante un año. Puedes comenzar con un número más pequeño, pero la actividad fallará una vez que se complete el almacenamiento, a menos que la escales explícitamente.

Si estás aprovisionando un año de procesamiento continuo, necesitarás 4 TB para los proyectos modernos de Document Understanding y 512 GB para los demás productos. El total será de 4,5 TB de almacenamiento. Del mismo modo, si comienzas con seis meses de procesamiento, necesitarás 2 TB para los proyectos modernos de Document Understanding y 512 GB para los demás productos. En este caso, el total será de 2,5 TB.

Nota:

Para obtener cálculos más detallados y la capacidad necesaria para tus necesidades, consulta la Calculadora de tamaño de instalación de UiPath Automation Suite.

Aprovisionamiento de GPU habilitadas para MIG​

Las cargas de trabajo de Automation Suite Document Understanding admiten la ejecución en GPU virtuales (VGPU) creadas con la tecnología NVIDIA MIG (GPU de instancias múltiples).

Para ejecutar Document Understanding en estas condiciones, ten en cuenta los siguientes requisitos:

  • Memoria de la GPU (VRAM): al menos 16 GB por VGPU. UiPath solo admite la estrategia única, lo que significa que todas las VGPU serán exactamente iguales.
  • Almacenamiento: al menos 80 GB por VGPU
Habilitar GPU habilitadas para MIG en Kubernetes​

Después de aprovisionar las GPU habilitadas para MIG en tu clúster con perfiles que coincidan o superen los requisitos mínimos anteriores, asegúrate de que las GPU sean Kubernetes programables. El nodo debe informar de un número de GPU distinto de cero antes de que se puedan programar cargas de trabajo en él.

Para hacer que las GPU sean programables, tienes dos opciones:

  • Opción A: sigue la documentación oficial de configuración de la GPU de tu proveedor de la nube, o la del sitio web de NVIDIA:
  • Opción B (alternativa): implementa el complemento del dispositivo NVIDIA directamente:
    1. Crea un nuevo espacio de nombres:
      kubectl create namespace gpu-resources
      kubectl create namespace gpu-resources
      
    2. Aplica la siguiente configuración, reemplazando migEnabledPoolName por la etiqueta que coincida con tu nodo de 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
      

Después de implementar el complemento, la sección Asignable del nodo debe mostrar el número correcto de VGPU en nvidia.com/gpu, en función del perfil MIG que hayas configurado. El nodo debería ser ahora programable y estar listo para ejecutar cargas de trabajo de Document Understanding.

Requisitos adicionales de Temporal como servicio (TaaS)​

Cuando Maestro está habilitado, TaaS se ejecuta como un conjunto de implementaciones de Kubernetes dentro del clúster. En el perfil predeterminado, TaaS requiere un mínimo de 5,5 núcleos virtuales y 5,5 GB de RAM de espacio libre en el clúster.

Implementaciones​

TaaS consta de las siguientes implementaciones de Kubernetes, cada una responsable de una función distinta dentro del servicio temporal:

ImplementaciónDescripción
taas-temporal-frontendPunto de entrada para todas las conexiones de cliente al servicio temporal
taas-temporal-internalFrontendGestiona la comunicación interna entre servicios dentro del clúster
taas-temporal-historyGestiona el historial de ejecución del flujo de trabajo y las transiciones de estado
taas-temporal-matchingHace coincidir las tareas programadas con los trabajadores disponibles para su ejecución
taas-temporal-workerProcesa flujos de trabajo internos del sistema temporal
taas-temporal-webIU web para visualizar y supervisar flujos de trabajo
taas-temporal-admintoolsImplementación de la utilidad para emitir comandos de administración temporal dentro del clúster

Requisitos de recursos de pod​

La siguiente tabla enumera las solicitudes y límites de CPU y memoria para cada implementación de TaaS. La configuración de los recursos es la misma en todos los perfiles de TaaS.

ImplementaciónSolicitud de CPULímite de CPUSolicitud de memoriaLímite de memoria
taas-temporal-frontend250m1256Mi256Mi
taas-temporal-internalFrontend250m1256Mi256Mi
taas-temporal-history250m14Gi4Gi
taas-temporal-matching250m1512Mi512Mi
taas-temporal-worker100m1256Mi256Mi
taas-temporal-web100m200 m128Mi128Mi
taas-temporal-admintools100m200 m128Mi128Mi

Ajuste de escala automático​

TaaS utiliza el Autoescalado de pod horizontal (HPA) para implementaciones seleccionadas. El comportamiento de escalado depende del perfil de TaaS, como se describe en la siguiente tabla.

PredeterminadoLiteHA
Autoescalado habilitadoNoSíSí
HPA creados044
taas-temporal-frontend Réplicas1 (estático)1–3 (CPU 80 %)2–3 (CPU 80 %)
taas-temporal-internalFrontend Réplicas1 (estático)1–3 (CPU 80 %)2–3 (CPU 80 %)
taas-temporal-history Réplicas1 (estático)1–5 (CPU 80 % + Mem 70 %)2-5 (CPU 80 % + Mem 70 %)
taas-temporal-matching Réplicas1 (estático)1–3 (CPU 80 %)2–3 (CPU 80 %)
taas-temporal-worker Réplicas1 (estático)1 (estático)2 (estático)
taas-temporal-web Réplicas1 (estático)1 (estático)1 (estático)
taas-temporal-admintools Réplicas1 (estático)1 (estático)1 (estático)
PDBdisabledenabledenabled
Número de fragmentos del historial64128256

Programación de nodos​

Los taints de nodo y las etiquetas son necesarios para los robots de Automation Suite. Para Document Understanding, se recomiendan.

Ejemplo de AI Center y DU:

  • Para la CPU:

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

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

EjemploAutomation Suite Robot :

Debes configurar un nodo de trabajo dedicado con el taint y las etiquetas correctos para Automation Suite Robots. Sin estos, los pods de asrobots no se programan independientemente de los recursos disponibles en otros nodos.

Ejecuta los dos comandos siguientes: el taint por sí solo no es suficiente:

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
Importante:

Si tienes corrupciones de nodo personalizadas que se aplican mediante la política de controlador de acceso, como roles específicos para nodos de trabajo o etiquetas, no se pasarán a Automation Suite y pueden interrumpir el proceso de instalación.

Para obtener más información sobre los taints y las tolerancias, consulta la documentación de Kubernetes.

Requisitos adicionales del modelo autoalojado​

Los modelos autoalojados requieren hardware de GPU. Los requisitos mínimos dependen del tamaño del modelo:

Tamaño del modeloConfiguración mínima de GPU
Parámetros 7B1 GPU de 80 GB
Parámetros 70B4 GPU de 80 GB
120B+ parámetros8 GPU de 80 GB

Para obtener más información, consulta Modelos autoalojados.

¿Te ha resultado útil esta página?

Conectar

¿Necesita ayuda? Soporte

¿Quiere aprender? UiPath Academy

¿Tiene alguna pregunta? Foro de UiPath

Manténgase actualizado