- 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
Configurar solicitudes de recursos y límites para cargas de trabajo creadas por uipathctl
Cómo ajustar las solicitudes y límites de CPU y memoria cuando las cargas de trabajo creadas por uipathctl no se programan o no se completan.
Descripción
Al ejecutar un comando uipathctl, una carga de trabajo de Kubernetes creada por el comando puede fallar debido a sus requisitos de CPU o memoria.
Puedes encontrar uno de los siguientes síntomas:
- El pod permanece en el estado
Pendingy sus eventos contienenInsufficient cpuoInsufficient memory. - El pod se termina con el estado
OOMKilled. - La carga de trabajo está limitada por la CPU o no se completa antes de que se agote el tiempo de espera del comando.
- Una política de admisión rechaza el pod porque sus solicitudes de recursos o límites no cumplen con un
ResourceQuotaoLimitRangeconfigurado en el espacio de nombres.
El problema puede afectar a las cargas de trabajo creadas por uipathctl utilizadas para comprobaciones de requisitos previos, comprobaciones de estado, generación de paquetes de soporte, migraciones, operaciones de Helm y actualizaciones.
Solución
Primero, identifica el pod afectado e inspecciona sus eventos:
kubectl get pods -A
kubectl describe pod <pod-name> -n <namespace>
kubectl get pods -A
kubectl describe pod <pod-name> -n <namespace>
Dependiendo de la condición notificada:
- Para
OOMKilled, aumente el límite de memoria. Aumenta también la solicitud de memoria si el pod debe programarse en un nodo con más memoria disponible. - Para un pod
PendingconInsufficient cpuoInsufficient memory, reduce la solicitud solo si la carga de trabajo puede ejecutarse de forma segura con menos capacidad garantizada. De lo contrario, añade capacidad del clúster. - Para errores de cuota o rango límite, especifica solicitudes y límites que cumplan con la política configurada en el espacio de nombres de destino.
- Para cargas de trabajo lentas o con CPU limitada, aumenta el límite de CPU.
Puedes cambiar los requisitos de recursos en input.json o anularlos para un solo comando.
Configurar los requisitos de recursos en input.json
uipathctl agrupa sus cargas de trabajo en las siguientes clases de recursos:
| Clase | Operaciones | Solicitudes predeterminadas (CPU/memoria) | Límites predeterminados (CPU/memoria) |
|---|---|---|---|
diagnostic | Comprobaciones de estado y sondeos de validación de solo lectura | 50m / 64Mi | 250m / 256Mi |
operational | Comprobaciones de requisitos previos, paquetes de soporte, operaciones de Helm y migración de datos de identidad | 1m / 1k | 2 / 2Gi |
workload | Migraciones de almacén de objetos, PVC y MongoDB, y el servidor de archivos de actualización | 250m / 512Mi | 2 / 2Gi |
Para cambiar los valores predeterminados de los comandos que utilizan la configuración de Automation Suite, añade workload_resources a input.json. Por ejemplo, para aumentar los recursos disponibles para cargas de trabajo de migración con muchos datos, utiliza la siguiente configuración:
{
"workload_resources": {
"workload": {
"requests": {
"cpu": "500m",
"memory": "1Gi"
},
"limits": {
"cpu": "2",
"memory": "4Gi"
}
}
}
}
{
"workload_resources": {
"workload": {
"requests": {
"cpu": "500m",
"memory": "1Gi"
},
"limits": {
"cpu": "2",
"memory": "4Gi"
}
}
}
}
Puedes configurar las clases diagnostic, operational y workload de forma independiente. También puedes especificar solo los valores que deseas cambiar. Cualquier valor de CPU o memoria omitido conserva su valor predeterminado.
Las solicitudes no pueden superar sus límites correspondientes. Utiliza cantidades de recursos estándar de Kubernetes, como 500m o 1 para CPU y 256Mi o 1Gi para memoria.
Anular los requisitos de recursos para un solo comando
Para los comandos que exponen las opciones --probe-cpu y --probe-memory, puedes anular los requisitos de recursos del pod de ayudante creado por ese comando. Por ejemplo:
uipathctl health check --probe-cpu 500m --probe-memory 512Mi
uipathctl health check --probe-cpu 500m --probe-memory 512Mi
Cada opción establece tanto la solicitud como el límite para el recurso especificado. Si especificas solo una opción, el otro recurso conserva su valor efectivo.
Las opciones están disponibles para los siguientes comandos:
uipathctl health checkuipathctl health testuipathctl health diagnoseuipathctl config add-host-adminuipathctl config enable-basic-authuipathctl service aicenter sync-skillsuipathctl service aicenter sync-skill-statusuipathctl service orchestrator notifications-migration start
Cuando se aplican ambos métodos de configuración, uipathctl resuelve los valores en el siguiente orden, donde el último valor tiene prioridad:
- El valor predeterminado integrado.
- El valor
workload_resourceseninput.jsono la configuración del clúster aplicada. - La opción de línea de comandos
--probe-cpuo--probe-memory.
Después de actualizar los requisitos de recursos, vuelve a ejecutar el comando afectado y confirma que la carga de trabajo creada por uipathctl se inicia correctamente.
Establece las solicitudes y límites más pequeños que permitan completar la carga de trabajo. Las solicitudes demasiado altas pueden impedir la programación, mientras que los límites demasiado bajos pueden provocar la limitación o la finalización.