- 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
Configuración de red y requisitos para Automation Suite en EKS/AKS.
Debe aprovisionar y configurar los recursos de red de Azure o AWS para garantizar que Automation Suite en su clúster tenga conectividad y acceso a los requisitos previos de la infraestructura de la nube (por ejemplo, almacenamiento, base de datos, caché y DNS). Dependiendo de tu arquitectura de red, esto puede incluir la configuración de VNET/VPC, DNS, subredes, NSG/grupos de seguridad, puerta de enlace NAT, IP elástica y puerta de enlace de Internet. Para obtener más información, consulta Escenarios de implementación.
Ten en cuenta que, en función de la escala de la carga de trabajo, puede que se necesiten más réplicas. De forma predeterminada, el modo de alta disponibilidad requiere dos réplicas y puede llegar a diez o más réplicas. Asegúrate de que la red admita este nivel de escalado.
Puedes utilizar cualquier CNI siempre que los pods puedan comunicarse entre sí. Además, para beneficiarse de las políticas de red incluidas con Automation Suite, tu CNI debe admitir y aplicar las políticas de red de Kubernetes. Algunas CNI, como la CNI de Amazon VPC, no habilitan la aplicación de políticas de red de forma predeterminada. Para obtener más información, consulta Políticas de red.
Hay consideraciones especiales para los CNI en la nube como Azure CNI y Amazon VPC CNI, que no admiten subredes de red de pod internas o privadas. El número de pods necesarios para Automation Suite depende de tu selección de productos y de la escala de la carga de trabajo. Por ejemplo, para una implementación con todos los servicios habilitados y en alta utilización, es posible que necesites más de 400 IP para admitir los requisitos de escalado.
Por ello, recomendamos asignar un rango CIDR de al menos /23.
Automation Suite admite configuraciones IPv6 y de doble pila.
No se admite la migración de IPv4 de pila única a IPv6 de pila doble o de pila única.
Todas las dependencias externas, como SQL, Redis, almacenamiento de objetos y DNS externo deben admitir la familia de IP habilitada.
No se recomiendan ni se admiten cambios en las tablas de IP.
Configuración de IPv6 o de doble pila
Para habilitar IPv6 o la pila dual, debes configurar el parámetro network en el archivo input.json para especificar si Automation Suite utiliza IPv4, IPv6 o ambos.
Puedes configurarlo de la siguiente manera:
-
Configuración de doble pila: habilita la comunicación tanto IPv4 como IPv6 para los servicios de Automation Suite y los componentes de entrada.
Puedes utilizar el siguiente ejemplo para configurar la red de doble pila:
"network": { "ipv4": { "enabled": true }, "ipv6": { "enabled": true } }"network": { "ipv4": { "enabled": true }, "ipv6": { "enabled": true } } -
Configuración IPv6 de pila única: habilita la comunicación solo IPv6 y deshabilita IPv4.
Puedes utilizar el siguiente ejemplo para configurar la red IPv6 de una sola pila:
"network": { "ipv4": { "enabled": false }, "ipv6": { "enabled": true } }"network": { "ipv4": { "enabled": false }, "ipv6": { "enabled": true } }
Algunos conectores de Integration Service pueden no ser compatibles con IPv6. Antes de habilitar esta característica, consulta la documentación del proveedor y los requisitos de autenticación de los conectores que utilizas para asegurarte de que IPv6 es compatible.
Controlador de entrada personalizado
Si tienes un controlador de entrada personalizado (NGINX), consulta Configurar la entrada de NGINX y omite el resto de la página.
Configuración del equilibrador de carga
Automation Suite aprovisiona un equilibrador de carga en tu nombre durante la instalación. El equilibrador de carga debe tener asignadas direcciones IP públicas o privadas para enrutar las solicitudes entrantes de FQDN. Tiene dos opciones para configurar el equilibrador de carga:
- IP preasignadas: asigna IP públicas o privadas para el equilibrador de carga, configura los registros DNS para asignar los FQDN a estas IP y proporciona estas IP como parte de la sección de entrada de
input.json. - IP asignadas dinámicamente: si no proporcionas una dirección IP, Automation Suite asigna dinámicamente las IP de la subred del clúster al equilibrador de carga.
Los grupos de seguridad de red en el equilibrador de carga deben permitir el tráfico HTTPS de los clientes finales a través del puerto 443. De forma predeterminada, configuramos el equilibrador de carga para realizar comprobaciones periódicas del estado de TCP.
Si utilizas tu propio ingress como NGINX, asegúrate de cumplir los requisitos de red documentados en Configurar el controlador de ingress de NGINX . Al utilizar Istio que implementa un NLB, ten en cuenta que normalmente crea tres listeners, que incluyen los puertos 80, 443 y 15021. Sin embargo, esta es una configuración típica, y tus requisitos reales pueden diferir en función de tus circunstancias exactas, así que haz los ajustes necesarios.
IP preasignadas
Debe proporcionar las siguientes anotaciones de servicio en la sección ingress de input.json.
Para obtener una lista de anotaciones de servicio en EKS, consulta la documentación del equilibrador de carga de AWS.
Para obtener una lista de anotaciones de servicio en AKS, consulta la documentación de Azure Load Balancer.
Ejemplos de anotaciones de EKS
Los siguientes ejemplos muestran cómo crear la sección ingress.service_annotations en input.json. Debes implementar un controlador de equilibrador de carga de AWS en tu clúster de EKS antes de la instalación para que los ejemplos funcionen correctamente.
El siguiente ejemplo muestra cómo asignar IP elásticos desde AWS y aprovisionar un equilibrador de carga público. Si usa este ejemplo como punto de partida para su configuración, asegúrese de reemplazar las IP con valores reales.
...
"ingress": {
"service_annotations": {
"service.beta.kubernetes.io/aws-load-balancer-backend-protocol": "ssl",
"service.beta.kubernetes.io/aws-load-balancer-eip-allocations": "<elastic_ip_id_0>,<elastic_ip_id_1>",
"service.beta.kubernetes.io/aws-load-balancer-nlb-target-type": "ip",
"service.beta.kubernetes.io/aws-load-balancer-scheme": "internet-facing",
"service.beta.kubernetes.io/aws-load-balancer-type": "nlb"
}
}
...
...
"ingress": {
"service_annotations": {
"service.beta.kubernetes.io/aws-load-balancer-backend-protocol": "ssl",
"service.beta.kubernetes.io/aws-load-balancer-eip-allocations": "<elastic_ip_id_0>,<elastic_ip_id_1>",
"service.beta.kubernetes.io/aws-load-balancer-nlb-target-type": "ip",
"service.beta.kubernetes.io/aws-load-balancer-scheme": "internet-facing",
"service.beta.kubernetes.io/aws-load-balancer-type": "nlb"
}
}
...
El siguiente ejemplo muestra cómo asignar IP privadas a un equilibrador de carga interno desde las subredes del clúster de EKS. Si usas este ejemplo como punto de partida para tu configuración, asegúrate de actualizar las IP y las subredes con valores reales.
...
"ingress": {
"service_annotations": {
"service.beta.kubernetes.io/aws-load-balancer-backend-protocol": "ssl",
"service.beta.kubernetes.io/aws-load-balancer-nlb-target-type": "ip",
"service.beta.kubernetes.io/aws-load-balancer-private-ipv4-addresses":""<IP_0>,<IP_1>"",
"service.beta.kubernetes.io/aws-load-balancer-subnets": "SUBNET_ID_0>,<SUBNET_ID_1>",
"service.beta.kubernetes.io/aws-load-balancer-scheme": "internal",
"service.beta.kubernetes.io/aws-load-balancer-type": "nlb"
"service.beta.kubernetes.io/aws-load-balancer-target-group-attributes": "preserve_client_ip.enabled=false"
}
}
...
...
"ingress": {
"service_annotations": {
"service.beta.kubernetes.io/aws-load-balancer-backend-protocol": "ssl",
"service.beta.kubernetes.io/aws-load-balancer-nlb-target-type": "ip",
"service.beta.kubernetes.io/aws-load-balancer-private-ipv4-addresses":""<IP_0>,<IP_1>"",
"service.beta.kubernetes.io/aws-load-balancer-subnets": "SUBNET_ID_0>,<SUBNET_ID_1>",
"service.beta.kubernetes.io/aws-load-balancer-scheme": "internal",
"service.beta.kubernetes.io/aws-load-balancer-type": "nlb"
"service.beta.kubernetes.io/aws-load-balancer-target-group-attributes": "preserve_client_ip.enabled=false"
}
}
...
Las IP y las subredes deben coincidir.
En el ejemplo anterior, <IP_0> está en <SUBNET_0> y <IP_1> en <SUBNET_1>.
Ejemplo de anotaciones de AKS
El siguiente ejemplo muestra cómo asignar IP públicas desde Azure y aprovisionar un equilibrador de carga público. Si usa este ejemplo como punto de partida para su configuración, asegúrese de actualizar las IP con valores reales.
...
"ingress": {
"service_annotations": {
"service.beta.kubernetes.io/azure-load-balancer-internal": "false",
"service.beta.kubernetes.io/azure-load-balancer-ipv4": "<IP>"
}
}
...
...
"ingress": {
"service_annotations": {
"service.beta.kubernetes.io/azure-load-balancer-internal": "false",
"service.beta.kubernetes.io/azure-load-balancer-ipv4": "<IP>"
}
}
...
El siguiente ejemplo muestra cómo asignar IP privadas a un equilibrador de carga interno desde las subredes del clúster AKS. Si utilizas este ejemplo como punto de partida para tu configuración, asegúrate de actualizar las IP y las subredes con los valores reales.
...
"ingress": {
"service_annotations": {
"service.beta.kubernetes.io/azure-load-balancer-internal": "true",
"service.beta.kubernetes.io/azure-load-balancer-ipv4": "<IP>",
"service.beta.kubernetes.io/azure-load-balancer-internal-subnet": "<SUBNET>",
}
}
...
...
"ingress": {
"service_annotations": {
"service.beta.kubernetes.io/azure-load-balancer-internal": "true",
"service.beta.kubernetes.io/azure-load-balancer-ipv4": "<IP>",
"service.beta.kubernetes.io/azure-load-balancer-internal-subnet": "<SUBNET>",
}
}
...
Configuración de DNS
Asegúrate de que los registros DNS estén configurados para asignar los siguientes UiPath® FQDN al equilibrador de carga:
FQDNalm.FQDNmonitoring.FQDNinsights.FQDN(si instala UiPath Insights)apps.FQDN(si instala UiPath Apps)
El FQDN es uno de los requisitos previos a los que se comprueba antes de la instalación. Si no proporciona una dirección IP o aún no ha realizado la asignación de FQDN, la comprobación fallará.
Al utilizar Route 53 para DNS, cambia los registros DNS relevantes a registros de alias que apunten directamente al equilibrador de carga elástico (ELB) creado durante la instalación. Esto garantiza un enrutamiento adecuado y una resolución más rápida, especialmente cuando hay varias IP públicas involucradas durante las instalaciones multi-AZ en entornos de AWS.
IP asignadas dinámicamente
Si no proporcionas ninguna IP en input.json, Automation Suite asigna dinámicamente las IP privadas de las subredes del nodo de trabajo. En este escenario, ejecute la instalación de Automation Suite de la siguiente manera.
Ejemplo de EKS de input.json
...
"ingress": {
"service_annotations": {
"service.beta.kubernetes.io/aws-load-balancer-backend-protocol": "ssl",
"service.beta.kubernetes.io/aws-load-balancer-nlb-target-type": "ip",
"service.beta.kubernetes.io/aws-load-balancer-scheme": "internal",
"service.beta.kubernetes.io/aws-load-balancer-type": "nlb",
"service.beta.kubernetes.io/aws-load-balancer-internal": true
}
}
...
...
"ingress": {
"service_annotations": {
"service.beta.kubernetes.io/aws-load-balancer-backend-protocol": "ssl",
"service.beta.kubernetes.io/aws-load-balancer-nlb-target-type": "ip",
"service.beta.kubernetes.io/aws-load-balancer-scheme": "internal",
"service.beta.kubernetes.io/aws-load-balancer-type": "nlb",
"service.beta.kubernetes.io/aws-load-balancer-internal": true
}
}
...
Ejemplo de AKS de input.json
...
"ingress": {
"service_annotations": {
"service.beta.kubernetes.io/azure-load-balancer-internal": "true"
}
}
...
...
"ingress": {
"service_annotations": {
"service.beta.kubernetes.io/azure-load-balancer-internal": "true"
}
}
...
Pasos de la instalación
En este escenario, ejecute el instalador de la siguiente manera:
-
Ejecuta el instalador solo hasta el aprovisionamiento del equilibrador de carga:
uipathctl manifest apply <INPUT_JSON> --versions <VERSIONS_JSON> --override=gatewayuipathctl manifest apply <INPUT_JSON> --versions <VERSIONS_JSON> --override=gateway -
Recuperar el nombre de host del equilibrador de carga:
kubectl get svc -n <istio-system> istio-ingressgateway -o jsonpath='{.status.loadBalancer.ingress[0].hostname}'kubectl get svc -n <istio-system> istio-ingressgateway -o jsonpath='{.status.loadBalancer.ingress[0].hostname}' -
Configura tu DNS con los FQDN asignados al punto de conexión del equilibrador de carga o a las IP.
-
Vuelva a ejecutar el instalador para completar la instalación:
uipathctl manifest apply input.json --versions versions.jsonuipathctl manifest apply input.json --versions versions.json
Tenga en cuenta que sin la asignación de DNS, la comprobación de requisitos previos de FQDN fallará. Las comprobaciones de requisitos previos están destinadas a darle la confianza de que ha aprovisionado todos los requisitos previos correctamente antes de instalar Automation Suite . La comprobación de FQDN no le impide instalar Automation Suite .
- Configuración de IPv6 o de doble pila
- Controlador de entrada personalizado
- Configuración del equilibrador de carga
- IP preasignadas
- Ejemplos de anotaciones de EKS
- Ejemplo de anotaciones de AKS
- Configuración de DNS
- IP asignadas dinámicamente
- Ejemplo de EKS de input.json
- Ejemplo de AKS de input.json
- Pasos de la instalación