- Información general
- Requisitos
- Preinstalación
- Preparar la instalación
- Descarga de los paquetes de instalación
- Configurar el registro compatible con OCI
- Conceder permisos de instalación
- Instalar y configurar la malla de servicio
- Instalar y configurar la herramienta GitOps
- Instalar el operador de secretos externos en Kubernetes
- Aplicar configuraciones varias
- Ejecutar uipathctl
- Instalación
- Después de la instalación
- Migración y actualización
- Supervisión y alertas
- Administración de clústeres
- 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
- Ai Trust Layer
- Solución de problemas
- Error de aprovisionamiento de AI Center después de actualizar a 2023.10 o posterior
- Volúmenes de Insights creados en dos zonas diferentes después de la migración
- La actualización falla debido a los tamaños de PVC de Insights anulados
- Los componentes de copia de seguridad de Velero permanecen después de actualizar en AKS desde Automation Suite 2024.10.x
- La configuración de la copia de seguridad no funciona debido a un fallo en la conexión a Azure Government
- Los pods en el espacio de nombres de UiPath se atascaban al habilitar los taints de nodo personalizados
- No se puede iniciar Automation Hub y Apps con la configuración de proxy
- La copia de seguridad de Velero falla con el error de validación fallida
- Solución de problemas de secretos externos
- Solución de problemas de Temporal como servicio
- Los pods de AI Center y Document Understanding no se inician con la verificación del certificado TLS habilitada
- Errores de validación del certificado TLS
- Fluentd no exporta registros en entornos IPv6
- Studio Desktop no puede cargar conectores y actividades de Integration Service
- Mitigación manual de Política de red de ArgoCD (GHSA-47m3-95c7-g2g8)
- Configurar solicitudes de recursos y límites para cargas de trabajo creadas por uipathctl
Almacenamiento
Configuración de almacenamiento de objetos, almacenamiento en bloque y almacenamiento de archivos para Automation Suite en EKS/AKS.
Además de Microsoft SQL Server, el clúster de Automation Suite requiere un componente de almacenamiento para almacenar los archivos. Automation Suite requiere el almacén de objetos y el almacenamiento de bloques/archivos, dependiendo del tipo de servicio que elijas.
Estimación de almacenamiento para cada componente de Automation Suite
Servicios de la plataforma UiPath®
Los siguientes servicios requieren el componente de almacenamiento. Estos solo son necesarios si ha optado por habilitarlos como parte de la instalación de Automation Suite o posteriormente.
| Servicio | Tipo de almacenamiento | Propósito | Estimación |
|---|---|---|---|
| Orchestrator | Almacén de objetos |
| Normalmente, un paquete es de 5 Mb, y los depósitos, si los hay, son inferiores a 1 Mb. Una empresa madura implementa alrededor de 10 GB de paquetes. Los paquetes, los archivos de depósito de almacenamiento y las grabaciones de vídeo suelen ser los que más contribuyen al crecimiento de este almacén. |
| Action Center | Almacén de objetos |
| Normalmente, un documento ocupa 0,15 Mb, y los formularios a rellenar ocupan 0,15 Kb adicionales. En una empresa madura, esto puede sumar un total de 4 GB. |
| Test Manager | Almacén de objetos |
| Normalmente, el conjunto de archivos y adjuntos suman hasta, aproximadamente, 5 Gb. |
| Insights | Blockstore |
| Se requieren 2 GB para la habilitación, y la huella de almacenamiento aumenta con el número. Una implementación de escala Enterpriseconsolidada requiere otros pocos GB para todos los paneles. Aproximadamente 10 GB de almacenamiento deberían ser suficientes. |
| Integration Service | Almacén de objetos |
| Los conectores varían en tamaño, pero la instalación de todos los conectores disponibles debería consumir menos de 100 MB. Los eventos de desencadenador varían en número en función del uso, pero 5 GB deberían ser suficientes. |
| Studio Web | Almacén de archivos |
|
|
| Apps | Almacén de archivos |
| Aproximadamente 5 GB para los datos de la aplicación existente; aproximadamente 15 MB por aplicación compleja. Espacio adicional necesario para los archivos adjuntos cargados por los usuarios. |
| AI Center | Almacén de objetos / almacén de archivos |
| Una instalación típica y establecida consumirá 8 GB para cinco paquetes y 1 GB adicional para los conjuntos de datos. Un proceso puede consumir 50 GB adicionales de almacenamiento en bloque, pero solo cuando se ejecuta activamente. |
| Document Understanding | Almacén de objetos |
| En una implementación madura, 12 GB se asignarán al modelo ML, 17 GB al OCR y 50 GB a todos los documentos almacenados. |
| Automation Suite Robots | Almacén de archivos |
| Normalmente, una empresa madura implementa alrededor de 10 GB de paquetes. |
| Process Mining | Almacén de objetos |
| El espacio mínimo solo se utiliza para almacenar archivos SQL. Aproximadamente un GB de almacenamiento debería ser suficiente al principio. |
| Conexión a tierra del contexto | Almacén de objetos, almacén de archivos |
|
|
| Observabilidad de LLM | Almacén de objetos |
|
|
| Soluciones | Almacén de objetos |
|
|
| Maestro | Almacén de objetos |
|
|
| Autopilot para desarrolladores | Almacén de objetos |
|
|
Servicios de suite compartida
Los siguientes servicios de suite compartida requieren el componente de almacenamiento. Estos solo son necesarios si ha optado por instalarlos como parte de la instalación de Automation Suite .
| Servicio | Tipo de almacenamiento | Propósito | Estimación |
|---|---|---|---|
| Supervisión | Bloquear almacenamiento | Datos de métricas relacionadas con Kubernetes y la infraestructura | Aproximadamente alrededor de 100 GB para almacenar los datos de supervisión de los últimos diez días |
| Registro | Bloquear almacenamiento | Registros en ejecución de la aplicación | Aproximadamente 20 GB para mantener los registros de los días anteriores |
Almacén de objetos
Automation Suite admite los siguientes almacenes de objetos:
| Kubernetes | Almacén de objetos | Autenticación compatible |
|---|---|---|
| EKS | Amazon S3 |
|
| AKS | Azure Storage (blob) |
|
*Actualmente, Insights no admite la identidad de carga de trabajo para la autenticación.
Configurar la política de CORS
Además, es posible que deba habilitar la siguiente política de CORS en el nivel de cuenta / depósito de almacenamiento si se enfrenta a cualquier error relacionado con el CORS durante la conexión de S3 mientras utiliza el clúster de Automation Suite .
Asegúrate de reemplazar {{fqdn}} por el FQDN del clúster de Automation Suite en la siguiente política CORS.
El siguiente ejemplo muestra la política CORS en formato JSON:
[
{
"AllowedHeaders": [
"*"
],
"AllowedMethods": [
"POST",
"GET",
"HEAD",
"DELETE",
"PUT"
],
"AllowedOrigins": [
"https://{{fqdn}}"
],
"ExposeHeaders": [
"etag",
"x-amz-server-side-encryption",
"x-amz-request-id",
"x-amz-id-2"
],
"MaxAgeSeconds": 3000
}
]
[
{
"AllowedHeaders": [
"*"
],
"AllowedMethods": [
"POST",
"GET",
"HEAD",
"DELETE",
"PUT"
],
"AllowedOrigins": [
"https://{{fqdn}}"
],
"ExposeHeaders": [
"etag",
"x-amz-server-side-encryption",
"x-amz-request-id",
"x-amz-id-2"
],
"MaxAgeSeconds": 3000
}
]
El siguiente ejemplo muestra la política CORS en formato XML:
<CORSConfiguration>
<CORSRule>
<AllowedOrigin>{{fqdn}}</AllowedOrigin>
<AllowedMethod>HEAD</AllowedMethod>
<AllowedMethod>GET</AllowedMethod>
<AllowedMethod>PUT</AllowedMethod>
<AllowedMethod>POST</AllowedMethod>
<AllowedMethod>DELETE</AllowedMethod>
<AllowedHeader>*</AllowedHeader>
<MaxAgeSeconds>3000</MaxAgeSeconds>
<ExposeHeader>x-amz-server-side-encryption</ExposeHeader>
<ExposeHeader>x-amz-request-id</ExposeHeader>
<ExposeHeader>x-amz-id-2</ExposeHeader>
<ExposeHeader>etag</ExposeHeader>
</CORSRule>
</CORSConfiguration>
<CORSConfiguration>
<CORSRule>
<AllowedOrigin>{{fqdn}}</AllowedOrigin>
<AllowedMethod>HEAD</AllowedMethod>
<AllowedMethod>GET</AllowedMethod>
<AllowedMethod>PUT</AllowedMethod>
<AllowedMethod>POST</AllowedMethod>
<AllowedMethod>DELETE</AllowedMethod>
<AllowedHeader>*</AllowedHeader>
<MaxAgeSeconds>3000</MaxAgeSeconds>
<ExposeHeader>x-amz-server-side-encryption</ExposeHeader>
<ExposeHeader>x-amz-request-id</ExposeHeader>
<ExposeHeader>x-amz-id-2</ExposeHeader>
<ExposeHeader>etag</ExposeHeader>
</CORSRule>
</CORSConfiguration>
Configurar políticas de ciclo vital
Puedes configurar una política de ciclo vital para eliminar automáticamente los objetos de registro más antiguos y reducir las tareas de limpieza manual. Los registros de Automation Suite se almacenan en la carpeta automation-suite-logs/ del depósito de la plataforma. UiPath recomienda conservar estos registros durante 15 días.
El siguiente ejemplo muestra los pasos para Amazon S3. Para Azure Storage, puedes configurar una política de gestión del ciclo de vida de forma similar, utilizando el mismo prefijo de carpeta y período de retención.
-
Crea un archivo llamado
policy.jsony añade el siguiente contenido:{ "Rules": [ { "Filter": { "Prefix": "automation-suite-logs/" }, "Status": "Enabled", "Expiration": { "Days": 15 }, "ID": "DeleteOldLogs" } ] }{ "Rules": [ { "Filter": { "Prefix": "automation-suite-logs/" }, "Status": "Enabled", "Expiration": { "Days": 15 }, "ID": "DeleteOldLogs" } ] } -
Ejecuta el siguiente comando para aplicar
policy.jsonal depósito:aws s3api put-bucket-lifecycle-configuration \ --bucket <BUCKET_NAME> \ --lifecycle-configuration file://policy.jsonaws s3api put-bucket-lifecycle-configuration \ --bucket <BUCKET_NAME> \ --lifecycle-configuration file://policy.jsonSustituye
<BUCKET_NAME>por el nombre de tu depósito de plataforma.
Configuración
Para configurar el almacén de objetos, consulta Configuración del almacén de objetos externo.
Dado que los contenedores se crean dentro del ámbito de la cuenta de almacenamiento de Azure, se recomienda tener un contenedor independiente para cada servicio.
Del mismo modo, en AWS, se recomienda tener un depósito dedicado para cada servicio instalado en Automation Suite . Sin embargo, si el depósito se crea de forma global, es posible que tengas limitaciones para proporcionar el depósito dedicado para cada servicio. En este caso, puede configurar un solo depósito y usarlo para todos los fines.
El instalador de Automation Suite admite la creación de contenedores / depósitos si proporcionas los permisos make . También puedes aprovisionar los contenedores / depósitos necesarios antes de la instalación y su información al instalador.
Depósitos necesarios para Integration Service
En una instalación de AKS, debes crear varios depósitos de almacenamiento de blob en Azure Storage. Este paso no es necesario en una instalación de EKS, que utiliza depósitos individuales.
Debes crear los siguientes depósitos manualmente antes de la instalación:
gallupx-poller-datagallupx-job-engine-stategallupx-notification-objectsgallupx-webhookgallupx-execution-trace
Requisitos de almacenamiento
- Almacén de objetos: 500 GB
El tamaño del almacén de objetos depende del tamaño de la automatización implementada y en ejecución. Por lo tanto, puede ser un reto proporcionar una estimación precisa del almacén de objetos inicialmente durante la instalación. Puedes empezar con un tamaño de almacén de objetos de 350 GB a 500 GB. Para comprender el uso del almacén de objetos, consulta Estimación de almacenamiento para cada componente de Automation Suite.
- A medida que tu automatización escala, es posible que debas tener en cuenta el aumento del tamaño de tu almacén de objetos.
Bloquear almacenamiento
El almacenamiento en bloque debe tener controladores CSI configurados con las clases de almacenamiento de Kubernetes.
La siguiente tabla proporciona detalles del almacenamiento en bloque, la clase de almacenamiento y el aprovisionador:
| Nube/Kubernetes | Almacenamiento | ClaseDeAlmacenamiento | Aprovisionador |
|---|---|---|---|
| AWS | Volúmenes de EBS | ebs-sc | ebs.csi.aws.com |
| Azure | Administración de disco de Azure | managed-premiumDisco LRS premium | disk.csi.azure.com |
Configuración
Puedes seguir las guías oficiales de AWS y Azure para crear una clase de almacenamiento en tus clústeres de EKS y AKS.
Debes pasar el nombre de la clase de almacenamiento que creaste para tu clúster al parámetro storage_class en el archivo input.json .
- A veces, el clúster EKS o AKS instala el controlador CSI y proporciona la clase de almacenamiento. Si estas clases de almacenamiento no están configuradas, debes configurarlas antes de la instalación de Automation Suite.
- Debe hacer que la clase de almacenamiento para el almacenamiento en bloque sea la predeterminada, como se muestra en el siguiente ejemplo.
Ejemplo
El siguiente ejemplo muestra cómo configurar la clase de almacenamiento y cómo proporcionarla al archivo input.json durante la instalación:
| Configuración | input.json | StorageClass |
|---|---|---|
| Azure |
|
|
| AWS |
|
|
Requisitos de almacenamiento
- Almacenamiento en bloque: 50 GB
El tamaño del almacén de bloques depende del tamaño de la automatización implementada y en ejecución. Por lo tanto, puede ser un reto proporcionar una estimación precisa inicialmente durante la instalación. Puedes empezar con un tamaño de almacenamiento en bloque de 50 GB. Para comprender el uso del almacén de bloques, consulta Estimación de almacenamiento para cada componente de Automation Suite.
A medida que tu automatización escala, es posible que debas tener en cuenta el aumento en el tamaño de tu almacenamiento en bloque.
Almacenamiento de archivos
El almacenamiento de archivos debe tener controladores CSI configurados con las clases de almacenamiento de Kubernetes.
La siguiente tabla proporciona detalles del almacenamiento de archivos, la clase de almacenamiento y el aprovisionador:
| Nube/Kubernetes | Almacenamiento | ClaseDeAlmacenamiento | Aprovisionador |
|---|---|---|---|
| AWS | EFS | efs-sc | efs.csi.aws.com |
| Azure | Archivos Azure | azurefile-csi-premium | file.csi.azure.com |
- Utiliza la clase de almacenamiento
azurefile-csi-premiumpara Studio Web en AKS. - Se recomienda configurar ZRS (o replicación) para el almacenamiento de Studio Web para garantizar una alta disponibilidad.
- Los discos de nodo trabajador deben tener al menos 2300 IOPS, y el StorageCluster debe configurarse utilizando el perfil de rendimiento y el perfil SKU con un mínimo de 5000 IOPS.
Configuración
Puedes seguir las guías oficiales de AWS y Azure para crear una clase de almacenamiento en tus clústeres de EKS y AKS.
Debes pasar el nombre de la clase de almacenamiento que creaste para tu clúster al parámetro storage_class_single_replica en el archivo input.json .
A veces, el clúster EKS o AKS instala el controlador CSI y proporciona la clase de almacenamiento. Si esta clase de almacenamiento no está configurada, debes configurarla antes de la instalación de Automation Suite.
Ejemplo
El siguiente ejemplo muestra cómo configurar la clase de almacenamiento y cómo proporcionarla a input.json durante la instalación:
| Configuración | input.json | StorageClass |
|---|---|---|
| Azure |
|
|
| Azure |
|
|
| AWS |
|
Reemplaza |
| AWS |
|
Reemplaza |
La clase de almacenamiento para el recurso compartido de archivos debe tener los permisos necesarios establecidos en 700 para el directorio y los archivos. Además, UID y GID deben establecerse en 1000 en Azure, y gidRangeStart y gidRangeEnd en 1000 y 2000, respectivamente, en AWS.
Requisitos de almacenamiento
- Almacenamiento de archivos: 510 GB
El tamaño del almacén de archivos depende del tamaño de la automatización implementada y en ejecución. Por lo tanto, puede ser un reto proporcionar una estimación real inicialmente, durante la instalación. Sin embargo, debes esperar que aproximadamente 510 GB de tamaño de almacenamiento sean suficientes para ejecutar diez procesos de entrenamiento simultáneos y para Automation Suite Robots. Para comprender el uso del almacén de archivos, consulta Estimación de almacenamiento para cada componente de Automation Suite.
A medida que tu automatización escala, es posible que debas tener en cuenta un aumento en el tamaño de tu almacenamiento de archivos.
Colas
Debes crear manualmente las siguientes colas en tu proveedor de la nube antes de la instalación. Estas colas son necesarias para admitir eventos y webhooks.
gallupx-debug-engine-tasksgallupx-engine-tasksgallupx-cron-tasksgallupx-tick-tasksgallupx-event-tasksgallupx-notification-tasksgallupx-webhook-engine-tasksgallupx-fps-engine-tasks
Para Automation Suite en EKS, debes añadir manualmente un prefijo específico a las colas, como se muestra en los siguientes ejemplos:
<queuePrefix>-gallupx-debug-engine-tasks<queuePrefix>-gallupx-engine-tasks<queuePrefix>-gallupx-cron-tasks<queuePrefix>-gallupx-tick-tasks<queuePrefix>-gallupx-event-tasks<queuePrefix>-gallupx-notification-tasks<queuePrefix>-gallupx-webhook-engine-tasks<queuePrefix>-gallupx-fps-engine-tasks
El valor queuePrefix debe coincidir con el valor del parámetro queue_prefix obligatorio utilizado en EKS input.json.
Si utilizas Amazon Simple Queue Service (SQS), debes crear ocho colas de mensajes fallidos (DLQ) adicionales. Debes asociar cada DLQ con su cola principal correspondiente.
Debes configurar cada cola excepto gallupx-engine-tasks con los siguientes ajustes:
- Período de retención de mensajes: 14 días
- Tamaño máximo del mensaje: 256 KB
- Cola de mensajes fallidos: habilitada
- Tiempo de espera de visibilidad predeterminado: 30 segundos
Debes configurar la cola gallupx-engine-tasks con los mismos ajustes, excepto:
- Tiempo de espera de visibilidad predeterminado: 15 minutos
Debes tener 18 colas en total, nueve colas principales y nueve colas de mensajes fallidos asociadas, como se muestra en el siguiente ejemplo:
prefix-gallupx-core
prefix-gallupx-core-deadletter
prefix-gallupx-cron-tasks
prefix-gallupx-cron-tasks-deadletter
prefix-gallupx-debug-engine-tasks
prefix-gallupx-debug-engine-tasks-deadletter
prefix-gallupx-engine-tasks
prefix-gallupx-engine-tasks-deadletter
prefix-gallupx-event-tasks
prefix-gallupx-event-tasks-deadletter
prefix-gallupx-fps-engine-tasks
prefix-gallupx-fps-engine-tasks-deadletter
prefix-gallupx-notification-tasks
prefix-gallupx-notification-tasks-deadletter
prefix-gallupx-tick-tasks
prefix-gallupx-tick-tasks-deadletter
prefix-gallupx-webhook-engine-tasks
prefix-gallupx-webhook-engine-tasks-deadletter
prefix-gallupx-core
prefix-gallupx-core-deadletter
prefix-gallupx-cron-tasks
prefix-gallupx-cron-tasks-deadletter
prefix-gallupx-debug-engine-tasks
prefix-gallupx-debug-engine-tasks-deadletter
prefix-gallupx-engine-tasks
prefix-gallupx-engine-tasks-deadletter
prefix-gallupx-event-tasks
prefix-gallupx-event-tasks-deadletter
prefix-gallupx-fps-engine-tasks
prefix-gallupx-fps-engine-tasks-deadletter
prefix-gallupx-notification-tasks
prefix-gallupx-notification-tasks-deadletter
prefix-gallupx-tick-tasks
prefix-gallupx-tick-tasks-deadletter
prefix-gallupx-webhook-engine-tasks
prefix-gallupx-webhook-engine-tasks-deadletter
Copias de seguridad y restauración
Para realizar una copia de seguridad del clúster de Automation Suite , necesita un almacén de objetos adicional para realizar una copia de seguridad de la configuración del clúster y los datos de usuario.
La siguiente tabla describe el almacenamiento compatible para la copia de seguridad:
| Kubernetes | Almacén de objetos |
|---|---|
| EKS | AWS S3 |
| AKS | Cuenta de Azure Storage |
Se recomienda un almacén de objetos independiente para almacenar la copia de seguridad.
Autenticación de almacenamiento
Acceso basado en la identidad de la carga de trabajo a su cuenta de almacenamiento desde AKS
Para obtener información general sobre la identidad de la carga de trabajo, consulta Configuración de la identidad de la carga de trabajo.
Para configurar tu cuenta de almacenamiento para utilizar la identidad de la carga de trabajo, ejecuta los siguientes comandos:
az role assignment create --assignee $userAssignedManagedIdentityObjectId --role "Storage Account Contributor" --scope "/subscriptions/$($infraJson.subscription_id)/resourceGroups/$(TARGET_RG)/providers/Microsoft.Storage/storageAccounts/$(STORAGE_ACCOUNT_NAME)"
az role assignment create --assignee $userAssignedManagedIdentityObjectId --role "Storage Blob Data Owner" --scope "/subscriptions/$($infraJson.subscription_id)/resourceGroups/$(TARGET_RG)/providers/Microsoft.Storage/storageAccounts/$(STORAGE_ACCOUNT_NAME)"
az role assignment create --assignee $userAssignedManagedIdentityObjectId --role "Storage Queue Data Contributor" --scope "/subscriptions/$($infraJson.subscription_id)/resourceGroups/$(TARGET_RG)/providers/Microsoft.Storage/storageAccounts/$(STORAGE_ACCOUNT_NAME)"
az role assignment create --assignee $userAssignedManagedIdentityObjectId --role "Storage Account Contributor" --scope "/subscriptions/$($infraJson.subscription_id)/resourceGroups/$(TARGET_RG)/providers/Microsoft.Storage/storageAccounts/$(STORAGE_ACCOUNT_NAME)"
az role assignment create --assignee $userAssignedManagedIdentityObjectId --role "Storage Blob Data Owner" --scope "/subscriptions/$($infraJson.subscription_id)/resourceGroups/$(TARGET_RG)/providers/Microsoft.Storage/storageAccounts/$(STORAGE_ACCOUNT_NAME)"
az role assignment create --assignee $userAssignedManagedIdentityObjectId --role "Storage Queue Data Contributor" --scope "/subscriptions/$($infraJson.subscription_id)/resourceGroups/$(TARGET_RG)/providers/Microsoft.Storage/storageAccounts/$(STORAGE_ACCOUNT_NAME)"
El siguiente ejemplo muestra una configuración input.json válida para una cuenta de almacenamiento de Azure:
"external_object_storage": {
"enabled": true,
"storage_type": "azure",
"account_name": "storaccid5730469",
"azure_fqdn_suffix": "core.windows.net",
"use_managed_identity": false,
"use_workload_identity": true
},
"external_object_storage": {
"enabled": true,
"storage_type": "azure",
"account_name": "storaccid5730469",
"azure_fqdn_suffix": "core.windows.net",
"use_managed_identity": false,
"use_workload_identity": true
},
- Estimación de almacenamiento para cada componente de Automation Suite
- Servicios de la plataforma UiPath®
- Servicios de suite compartida
- Almacén de objetos
- Configurar la política de CORS
- Configurar políticas de ciclo vital
- Configuración
- Requisitos de almacenamiento
- Bloquear almacenamiento
- Configuración
- Requisitos de almacenamiento
- Almacenamiento de archivos
- Configuración
- Requisitos de almacenamiento
- Colas
- Copias de seguridad y restauración
- Autenticación de almacenamiento
- Acceso basado en la identidad de la carga de trabajo a su cuenta de almacenamiento desde AKS