UiPath Documentation
automation-suite
2.2510
true
Guía de instalación de Automation Suite en EKS/AKS
Importante :
Este contenido se ha localizado parcialmente a partir de un sistema de traducción automática. La localización de contenidos recién publicados puede tardar entre una y dos semanas en estar disponible.

Interconexión

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.

Importante:

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.

Nota:

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 }
    }
    
Nota:

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"
    }
  }
...
Importante:

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:

  • FQDN
  • alm.FQDN
  • monitoring.FQDN
  • insights.FQDN (si instala UiPath Insights)
  • apps.FQDN (si instala UiPath Apps)
Nota:

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:

  1. Ejecuta el instalador solo hasta el aprovisionamiento del equilibrador de carga:

    uipathctl manifest apply <INPUT_JSON> --versions <VERSIONS_JSON> --override=gateway
    uipathctl manifest apply <INPUT_JSON> --versions <VERSIONS_JSON> --override=gateway
    
  2. 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}'
    
  3. Configura tu DNS con los FQDN asignados al punto de conexión del equilibrador de carga o a las IP.

  4. Vuelva a ejecutar el instalador para completar la instalación:

    uipathctl manifest apply input.json --versions versions.json
    uipathctl manifest apply input.json --versions versions.json
    
Nota:

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 .

¿Te ha resultado útil esta página?

Conectar

¿Necesita ayuda? Soporte

¿Quiere aprender? UiPath Academy

¿Tiene alguna pregunta? Foro de UiPath

Manténgase actualizado