Automation Suite
2023.10
False
Image de fond de la bannière
Guide d'installation d'Automation Suite sur EKS/AKS
Dernière mise à jour 19 avr. 2024

Mise en réseau

Vous devez enregistrer et configurer les ressources réseau Azure ou AWS pour vous assurer qu'Automation Suite sur votre cluster dispose d'une connectivité et d'un accès aux prérequis de l'infrastructure Cloud (par exemple, stockage, base de données, cache et DNS).

Selon votre architecture réseau, cela peut inclure la configuration de VNET/VPC, de DNS, de sous-réseaux, de NSG/groupes de sécurité, de la passerelle NAT, de l'adresse IP élastique et de la passerelle Internet. Pour plus de détails, consultez Scénarios de déploiement ( Deployment scénarios).

Automation Suite nécessite un minimum de 400 pods sur le cluster si tous les services sont activés. Notez qu'en fonction de la mise à l'échelle de la charge de travail, davantage de répliques peuvent être nécessaires. Par défaut, le mode haute disponibilité nécessite deux répliques et peut aller jusqu'à dix répliques ou plus. Assurez-vous que votre réseau prend en charge ce niveau de mise à l'échelle.

Important :

Automation Suite ne prend pas en charge le protocole Internet IPv6.

Contrôleur d'entrée personnalisé

Si vous disposez d'un contrôleur d'entrée personnalisé (NGINX), reportez-vous à Configuration de l'entrée NGINX ( Configuring NGINX ingress ) et ignorez le reste de la page.

Configuration de l'équilibreur de charge

Automation Suite enregistre un équilibreur de charge en votre nom lors de l'installation. L'équilibreur de charge doit se voir attribuer des adresses IP publiques ou privées pour acheminer les requêtes FQDN entrantes. Vous avez deux options pour configurer l'équilibreur de charge :

  • IP préallouées: allouez des IP publiques ou privées pour l'équilibreur de charge, configurez les enregistrements DNS pour mapper les noms de domaine complets à ces IP et fournissez ces IP dans la section d'entrée de input.json.
  • IP allouées dynamiquement : si vous ne fournissez pas d'adresse IP, Automation Suite alloue dynamiquement des IP du sous-réseau du cluster à l'équilibreur de charge.

IP pré-allouées

Vous devez fournir les annotations de service suivantes dans la section ingress de input.json.

Pour obtenir la liste des annotations de service dans EKS, consultez la section documentation AWS Load Balancer.

Pour obtenir la liste des annotations de service dans AKS, consultez la section documentation d’Azure Load Balancer.

Exemples d’annotations EKS

Les exemples suivants illustrent comment créer la section ingress.service_annotations dans input.json. Vous devez déployer un contrôleur d’équilibreur de charge AWS sur votre cluster EKS avant l’installation pour que ces exemples fonctionnent correctement.

L'exemple suivant montre comment allouer des adresses IP Elastic à partir d'AWS et enregistrer un équilibreur de charge public. Si vous utilisez cet exemple comme point de départ pour votre configuration, assurez-vous de remplacer les adresses IP par des valeurs réelles.

"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"
    }
  }

L'exemple suivant montre comment allouer des adresses IP privées à un équilibreur de charge interne à partir des sous-réseaux du cluster EKS. Si vous utilisez cet exemple comme point de départ pour votre configuration, assurez-vous de mettre à jour les adresses IP et les sous-réseaux avec les valeurs réelles.

"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"
    }
  }
Important :

Les IP et les sous-réseaux doivent correspondre.

Dans l'exemple précédent, <IP_0> est dans <SUBNET_0> et <IP_1> dans <SUBNET_1>.

Exemple d'annotations AKS

L'exemple suivant montre comment allouer des adresses IP publiques à partir d'Azure et enregistrer un équilibreur de charge public. Si vous utilisez cet exemple comme point de départ pour votre configuration, assurez-vous de mettre à jour les adresses IP avec des valeurs réelles.

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

L’exemple suivant montre comment allouer des adresses IP privées à un équilibreur de charge interne à partir des sous-réseaux du cluster AKS. Si vous utilisez cet exemple comme point de départ de votre configuration, assurez-vous de mettre à jour les adresses IP et les sous-réseaux avec les valeurs réelles.

...
"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_0>", "<SUBNET_1>" 
    }
  }
......
"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_0>", "<SUBNET_1>" 
    }
  }
...
Important :

Les adresses IP et les sous-réseaux doivent correspondre.

Dans l'exemple précédent, <IP_0> est dans <SUBNET_0> et <IP_1> dans <SUBNET_1>.

Configuration DNS

Veillez à ce que les enregistrements DNS soient configurés de façon à mapper les noms de domaine complets UiPath® suivants à l’équilibreur de charge :

  • FQDN
  • alm.FQDN
  • monitoring.FQDN
  • insights.FQDN (si vous installez UiPath Insights)
Remarque :

Le nom de domaine complet est l'une des vérifications préalables à l'installation. Si vous ne fournissez pas d'adresse IP ou n'avez pas encore effectué le mappage du nom de domaine complet, la vérification échouera.

IP allouées dynamiquement

Si vous ne fournissez pas d'adresse IP dans input.json, Automation Suite alloue dynamiquement les adresses IP privées à partir des sous-réseaux du nœud de travail. Dans ce scénario, exécutez l'installation d'Automation Suite de la manière suivante.

Exemple 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
    }
  }
...

Exemple 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"
    }
  }
...

Étapes d'installation

Dans ce scénario, exécutez le programme d'installation comme suit :

  1. Exécutez le programme d'installation uniquement jusqu'à l'enregistrement de l'équilibreur de charge :

    uipathctl manifest apply <INPUT_JSON> --versions <VERSIONS_JSON> --override=gatewayuipathctl manifest apply <INPUT_JSON> --versions <VERSIONS_JSON> --override=gateway
  2. Récupérez le nom d'hôte de l'équilibreur de charge :

    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. Configurez votre DNS avec des noms de domaine complets mappés au point de terminaison ou aux adresses IP de l'équilibreur de charge.

  4. Réexécutez le programme d'installation pour terminer l'installation :

    uipathctl manifest apply input.json --versions versions.jsonuipathctl manifest apply input.json --versions versions.json
Remarque :

Notez que sans mappage DNS, la vérification des prérequis du nom de domaine complet échouera. Les vérifications des prérequis sont destinées à vous assurer que vous avez correctement enregistré toutes les conditions préalables avant d'installer Automation Suite . La vérification du nom de domaine complet ne vous empêche pas d'installer Automation Suite .

Cette page vous a-t-elle été utile ?

Obtenez l'aide dont vous avez besoin
Formation RPA - Cours d'automatisation
Forum de la communauté UiPath
Logo Uipath blanc
Confiance et sécurité
© 2005-2024 UiPath. All rights reserved.