- Información general
- Glosario
- Productos de Automation Suite
- Arquitectura multinodo y consideración de diseño
- Seguridad y cumplimiento
- Visión general de los certificados
- Requisitos
- Plantillas de implementación
- Manual: preparar la instalación
- Manual: preparar la instalación
- Paso 2: configurar el registro compatible con OCI para las instalaciones sin conexión
- Paso 3: configurar el almacén de objetos externo
- Paso 4: configurar High Availability Add-on
- Paso 5: configurar las bases de datos SQL
- Paso 7: configurar el DNS
- Paso 8: configurar los discos
- Paso 9: configurar los ajustes a nivel de kernel y sistema operativo
- Paso 10: configurar los puertos de nodo
- Paso 11: aplicar ajustes varios
- Paso 12: Validar e instalar los paquetes RPM necesarios
- Paso 13: Generar cluster_config.json
- Ejemplo de Clúster_config.json
- Configuración general
- Configuración del perfil
- Configuración de certificados
- Configuración de la base de datos
- Configuración del almacén de objetos externo
- Configuración de URL prefirmada
- Configuración de ArgoCD
- Configuración de la autenticación Kerberos
- Configuración de registro externo compatible con OCI
- Disaster recovery: configuraciones activas/pasivas y activas/activas
- Configuración de High Availability Add-on
- Configuración específica de Orchestrator
- Configuración específica de Insights
- Process Mining-specific configuration
- Configuración específica de Document Understanding
- Automation Suite Robots-specific configuration
- Configuración de la supervisión
- Opcional: configurar el servidor proxy
- Opcional: habilitación de la resistencia a fallos de zona en un clúster multinodo de producción preparada para alta disponibilidad
- Opcional: pasar resolv.conf personalizado
- Optional: Increasing fault tolerance
- Inclusión de un nodo agente dedicado compatible con GPU
- Añadir un nodo agente dedicado a Automation Suite Robots
- Paso 15: configurar el registro temporal de Docker para las instalaciones sin conexión
- Paso 16: validar los requisitos previos para la instalación
- Ejecutar uipathctl
- Manual: realizar la instalación
- Después de la instalación
- Administración de clústeres
- Gestionar los productos
- Primeros pasos con el Portal de administración del clúster
- Migración de Redis desde un clúster a un High Availability Add-on externo
- Migrating in-cluster objectstore to external objectstore
- Migrar del registro en clúster a un registro externo compatible con OCI
- Cambiar manualmente al clúster secundario en una configuración activa/pasiva
- Disaster Recovery: realizar operaciones posteriores a la instalación
- Convertir una instalación existente en una configuración en varios sitios
- Directrices sobre la actualización de una implementación activa/pasiva o activa/activa
- Directrices sobre la copia de seguridad y restauración de una implementación activa/pasiva o activa/activa
- Escalar una implementación de nodo único (evaluación) a una implementación multinodo (HA)
- Supervisión y alertas
- Migración y actualización
- Migrar entre clústeres de Automation Suite
- Actualizar Automation Suite
- Descargar los paquetes de instalación y obtener todos los archivos del primer nodo del servidor
- Recuperar la última configuración aplicada del clúster
- Actualizar la configuración del clúster
- Configurar el registro compatible con OCI para las instalaciones sin conexión
- Ejecutar la actualización
- Realizar operaciones posteriores a la actualización
- Configuración específica del producto
- Configuración avanzada de Orchestrator
- Configurar parámetros de Orchestrator
- Configurar AppSettings
- Configurar el tamaño máximo de la solicitud
- Anular la configuración de almacenamiento a nivel de clúster
- Configurar NLog
- Guardar los registros del robot en Elasticsearch
- Configurar almacenes de credenciales
- Configurar clave de cifrado por tenant
- Limpiar la base de datos de Orchestrator
- Omitir la instalación de la biblioteca de host
- Buenas prácticas y mantenimiento
- Solución de problemas
- Cómo solucionar los problemas de los servicios durante la instalación
- Cómo reducir los permisos para un directorio de copia de seguridad NFS
- Cómo desinstalar el clúster
- Cómo limpiar los artefactos sin conexión para mejorar el espacio en disco
- Cómo borrar datos de Redis
- Cómo habilitar el registro de Istio
- Cómo limpiar manualmente los registros
- Sacar a Ceph del modo solo lectura
- Cómo limpiar los registros antiguos almacenados en el depósito sf-logs
- Cómo deshabilitar los registros de transmisión para AI Center
- Cómo depurar instalaciones de Automation Suite fallidas
- Cómo eliminar imágenes del instalador antiguo después de la actualización
- Cómo deshabilitar la descarga de la suma de comprobación TX
- Cómo establecer manualmente el nivel de registro de ArgoCD en Info
- Cómo expandir el almacenamiento de AI Center
- Cómo generar el pull_secret_value codificado para registros externos
- Cómo abordar los cifrados débiles en TLS 1.2
- Cómo comprobar la versión de TLS
- Cómo trabajar con certificados
- Cómo programar la copia de seguridad y la restauración de datos de Ceph
- Cómo recopilar datos de uso de DU con el almacén de objetos en el clúster (Ceph)
- Cómo instalar RKE2 SELinux en entornos aislados
- Cómo limpiar copias de seguridad diferenciales antiguas en un servidor NFS
- Cómo implementar Insights en un clúster habilitado para FIPS
- Cómo migrar a cgroup v2
- Cómo recuperar la autenticación Kerberos después de reiniciar una máquina virtual
- Cómo enviar una imagen de Docker local al registro en el clúster
- Cómo excluir depósitos de la copia de seguridad
- Error al descargar el paquete
- La instalación sin conexión falla porque falta un binario
- Azure disk not marked as SSD
- Fallo tras la actualización del certificado
- Errores de validación del certificado TLS
- El antivirus causa problemas de instalación
- Automation Suite not working after OS upgrade
- Automation Suite requiere que backlog_wait_time se establezca en 0
- La instalación del registro temporal falla en RHEL 8.9
- Problema de reinicio frecuente en las implementaciones del espacio de nombres de uipath durante las instalaciones sin conexión
- Configuración de DNS no respetada por CoreDNS
- La propagación del registro en el clúster falla debido a la memoria insuficiente
- Las comprobaciones de requisitos previos fallan cuando los proyectos modernos de Document Understanding están habilitados y AI Center está deshabilitado
- Pods atascados en estado Init debido a un fallo de montaje del volumen XFS en nodos RHEL 8.x
- Los datos del clúster parecen perdidos después de un reinicio debido a un orden incorrecto de montaje del disco de Rancher y etcd
- Upgrade fails due to unhealthy Ceph
- La actualización falla debido a objetos clásicos en la base de datos de Orchestrator
- El clúster de Ceph se encuentra en un estado degradado tras una actualización en paralelo.
- La actualización del servicio falla para Apps
- Tiempos de actualización in situ
- La actualización falla en entornos sin conexión
- pod de snapshot-controller-crds en estado CrashLoopBackOff después de la actualización
- La actualización falla debido a los tamaños de PVC de Insights anulados
- Error de actualización debido a un nombre de host en mayúsculas
- Establecer un intervalo de tiempo de espera para los portales de gestión
- La autenticación no funciona tras la migración
- kinit: no se puede encontrar la KDC para el territorio <AD Domain> mientras se obtienen las credenciales iniciales
- kinit: keytab no contiene claves adecuadas para *** mientras se obtienen las credenciales iniciales
- Error en la operación GSSAPI debido a un código de estado no válido
- Alarma recibida por un error en el trabajo de Kerberos-tgt-update
- Proveedor de SSPI: servidor no encontrado en la base de datos de Kerberos
- Error en inicio de sesión de un usuario AD debido a una cuenta deshabilitada
- ArgoCD login failed
- Fallo en la obtención de la imagen de Sandbox
- Los pods no se muestran en la interfaz de usuario de ArgoCD
- Fallo de la sonda Redis
- El servidor RKE2 no se inicia
- ArgoCD entra en estado de progreso tras la primera instalación
- Pod del servidor de repositorio de ArgoCD en CrashLoopBackOff
- Mitigación manual de Política de red de ArgoCD (GHSA-47m3-95c7-g2g8)
- Faltan métricas de Ceph-rook en los paneles de supervisión
- Falta de coincidencia en los errores informados durante las comprobaciones de estado de diagnóstico
- Configurar solicitudes de recursos y límites para cargas de trabajo creadas por uipathctl
- No hay problema ascendente en buen estado
- Inicio de Redis bloqueado por antivirus
- Los pods de AI Center y Document Understanding no se inician con la verificación del certificado TLS habilitada
- Fluentd no exporta registros en entornos IPv6
- Studio Desktop no puede cargar conectores y actividades de Integration Service
- Document Understanding no se encuentra en la barra izquierda de Automation Suite
- Estado fallido al crear una sesión de etiquetado de datos
- Estado fallido al intentar implementar una habilidad ML
- El trabajo de migración falla en ArgoCD
- El reconocimiento de la escritura manual con el extractor de formularios inteligente no funciona
- Ejecutar alta disponibilidad con Process Mining
- La ingestión de Process Mining falló al iniciar sesión con Kerberos
- No se puede conectar a la base de datos AutomationSuite_ProcessMining_Warehouse utilizando una cadena de conexión en formato pyodbc
- La instalación de Airflow falla con sqlalchemy.exc.ArgumentError: no se pudo analizar la URL rfc1738 de la cadena ''
- Cómo añadir una regla de tabla de IP para utilizar el puerto 1433 de SQL Server
- El certificado de Automation Suite no es de confianza desde el servidor donde se ejecuta CData Sync
- Process Mining no se carga después de deshabilitarlo y volver a habilitarlo
- Ejecutar la herramienta de diagnóstico
- Uso del paquete de soporte de Automation Suite
- Explorar registros
Arquitectura multinodo y consideración de diseño
Consideraciones de diseño y arquitectura multinodo para Automation Suite en Linux con Kubernetes.
El siguiente diagrama de arquitectura muestra una implementación de Automation Suite en Linux con Kubernetes instalado en seis máquinas, un equilibrador de carga y el almacenamiento de datos. Existen varios tipos de máquinas: tres nodos de servidor, dos nodos de agente y un nodo de agente especializado.
Nodos de servidor
Los nodos del servidor alojan el plano de control de Kubernetes, que controla todo el clúster de Kubernetes. En una implementación multinodo típica, se necesita un número impar de nodos de servidor, siendo tres el número mínimo de servidores. Esta restricción se debe al componente etcd , que forma parte del plano de control de Kubernetes. Para obtener más detalles, consulta la documentación de etcd.
Por la misma razón, la mayoría de los nodos del servidor deben estar disponibles en cualquier momento para mantener el clúster en buen estado.
Estos nodos también alojan los componentes que requieren el almacenamiento de datos en los nodos, como Prometheus, el almacén de objetos en el clúster Ceph, UiPath Insights y el registro de Docker en el clúster.
Nodos agente
Los nodos de agente a veces se llaman nodos de trabajo. El propósito de estos nodos es alojar los servicios de UiPath® y otras capacidades compartidas de la suite. Dado que no hay un disco de datos conectado a estos nodos, no pueden alojar los componentes que requieren el almacenamiento en disco.
Los nodos de agente no imponen ninguna restricción en el número de nodos disponibles en cualquier momento. Mientras el clúster resultante tenga la capacidad suficiente para alojar todos los pods de los nodos perdidos, el clúster funcionará como se espera sin ninguna interrupción.
Nodos de agente especializados
Estos nodos son los nodos de agente especiales dedicados a tareas especiales, como el nodo Robots de Automation Suite para la ejecución de robots y el nodo GPU para el modelo de Document Understanding. No puede alojar otros servicios de UiPath® en estos nodos.
Load balancer
El equilibrador de carga, que se instala fuera de Automation Suite, actúa como punto de entrada para acceder a las aplicaciones alojadas en el clúster de Automation Suite. El equilibrador de carga debe soportar la tolerancia a los fallos del nodo. Todos los nodos del servidor deben configurarse en el equilibrador de carga, pero los nodos de agente también pueden configurarse de forma opcional. Sin embargo, no se requieren nodos de agente especializados.
Cuando los robots intentan acceder a Orchestrator, la llamada aterriza en el equilibrador de carga y luego pasa a cualquiera de los nodos disponibles. Cada nodo también aloja el componente de red llamado Istio, que es una malla de servicios que también actúa como un equilibrador de carga. Cuando Istio recibe la llamada en el nodo, intenta localizar la instancia de Orchestrator en todo el clúster. Una vez que se encuentra, redirigirá la llamada a esa instancia.
Cómo diseñar tu implementación
¿Más máquinas más pequeñas o menos máquinas más grandes?
Depende completamente de ti si eliges más máquinas más pequeñas o menos máquinas más grandes, ya que ambas opciones tienen sus pros y sus contras. Un mayor número de máquinas más pequeñas proporciona una mejor resistencia a la tolerancia a los fallos en los nodos en comparación con un menor número de máquinas más grandes. Al mismo tiempo, también introduce una sobrecarga de gestión adicional.
Por ejemplo, si tu clúster de Automation Suite requiere un 96 vCPU, puedes optar por cualquiera de las siguientes opciones:
-
Opción 1: 6 máquinas de 16vCPU cada una.
- Impacto: perder una máquina solo reduce la capacidad del clúster en 16 vCPU, por lo que solo afecta a los servicios si el clúster resultante no tiene la capacidad para alojar todos los pods. Sin embargo, gestionar 6 máquinas implica un esfuerzo mayor.
-
Opción 2: 3 máquinas de 32vCPU cada una
- Impacto: perder una máquina reduce la capacidad del clúster en 32vCPU, que tiene un impacto importante en Automation Suite. Sin embargo, gestionar 3 máquinas implica un esfuerzo menor.
Para concluir, el diseño de implementación depende del objetivo. Si el objetivo es una mayor tolerancia a los fallos, la mejor opción es más máquinas más pequeñas. Sin embargo, si el objetivo es una menor sobrecarga de gestión, la elección debe ser el menor número de máquinas más grandes.
¿Todos los nodos de servidor en lugar de los nodos de agente?
Si optas por todos los nodos del servidor en lugar de los nodos de agente depende de tu RTO o RPO.
Por ejemplo, digamos que tu Automation Suite necesita 80 vCPU. Puedes lograrlo de la siguiente manera:
-
Opción 1: 5 máquinas de servidor con 16 vCPU cada una. Aquí puede perder como máximo 2 nodos de servidor.
- Recomendado si el objetivo es la resistencia a la pérdida de datos. Aunque se pierdan 2 nodos del servidor, los datos quedarán intactos y se podrán reconstruir a partir de las réplicas restantes.
-
Opción 2: 3 nodos de servidores y 2 nodos de agente con 16 vCPU cada uno. Aquí puedes perder 1 nodo de servidor y ambos nodos de agente, por lo que un total de 3 máquinas.
- Recomendado si el objetivo es la resistencia a la disponibilidad del nodo. Incluso sin 3 máquinas, el clúster seguirá estando disponible con una capacidad limitada y una vez que los nodos vuelvan, se recuperará todo el clúster. Sin embargo, esta configuración es más propensa a la pérdida de datos debido al almacenamiento conectado a los nodos del servidor. Si se pierden 2 nodos del servidor por completo, puede ser difícil reconstruir los datos de nuevo sin restaurarlos a partir de la copia de seguridad.