- 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 con roles de clúster
- Conceder permisos de instalación sin roles de clúster
- Instalar y configurar la malla de servicio
- Instalar y configurar la herramienta GitOps
- Instalar el operador de secretos externos
- Implementar Redis a través de OperatorHub
- 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
- Cómo desinstalar Automation Suite
- Cómo resolver el fallo de comprobación de conectividad prerrequisito en OpenShift 4.16–4.18
- Cómo implementar Insights en un clúster habilitado para FIPS
- Cómo deshabilitar la habilitación automática de CDI en el operador de GPU de Nvidia
- Cómo codificar la URL de una contraseña de cadena de conexión de PostgreSQL
- 500 errores y limitación de tasa en solicitudes S3 en ODF
- Solución de problemas de secretos externos
- Configurar las tolerancias del controlador CSI para ODF 4.20
- 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
- Studio Desktop no puede cargar conectores y actividades de Integration Service
- Errores de validación del certificado TLS
- 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.