- Información general
- Requisitos
- Instalación
- Después de la instalación
- Migración y actualización
- Actualizar Automation Suite en EKS / AKS
- Paso 1: Mover los datos de la organización de identidad de independiente a Automation Suite
- Paso 2: restaurar la base de datos del producto independiente
- Paso 3: Realizar una copia de seguridad de la base de datos de la plataforma en Automation Suite
- Paso 4: Fusionar organizaciones en Automation Suite
- Paso 5: actualizar las cadenas de conexión de los productos migrados
- Paso 6: migrar el Orchestrator independiente
- Paso 7: migrar Insights independiente
- Paso 8: Migrar Test Manager independiente
- Paso 9: eliminar el tenant predeterminado
- Realizar una migración de un solo tenant
- Migrar de Automation Suite en Linux a Automation Suite en EKS / AKS
- Supervisión y alertas
- Administración de clústeres
- Configuración específica del producto
- Configurar parámetros de Orchestrator
- Configuración 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 almacenes de credenciales
- Configurar clave de cifrado por tenant
- Limpiar la base de datos de Orchestrator
- Solución de problemas
- 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
- Los pods no pueden comunicarse con FQDN en un entorno de proxy
- Se ignora la cadena de conexión SQL de la automatización de pruebas
- Error de copia de seguridad de EKS debido a la versión de Velero
- La copia de seguridad de Velero falla con el error de validación fallida
- El acceso a FQDN devuelve un error de acceso RBAC denegado
- Mitigación manual de Política de red de ArgoCD (GHSA-47m3-95c7-g2g8)
Interconexión
Aprovisione y configure los recursos de red de Azure o AWS 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 interfaz de red de contenedor (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.
Dimensionamiento de pods e IP
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 no admite el protocolo de Internet IPv6.
No se recomiendan ni se admiten cambios en las tablas de IP.
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 ingreso como NGINX, asegúrate de cumplir los requisitos de red documentados en Configurar el controlador de ingreso NGINX. Al utilizar Istio que implementa un NLB, ten en cuenta que normalmente crea tres agentes de escucha, que incluyen los puertos 80, 443 y 15021. Sin embargo, esta es una configuración típica y sus requisitos reales pueden diferir en función de sus circunstancias exactas, por lo que ajústelo según sea necesario.
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 de 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)
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á.
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 .
- Dimensionamiento de pods e IP
- 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