- Vue d'ensemble (Overview)
- Prérequis
- Pré-installation
- Préparation de l'installation
- Téléchargement des packages d'installation
- Configuration du registre conforme à OCI
- Octroi d'autorisations d'installation
- Installation et configuration du service Mesh
- Installer et configurer l'outil GitOps
- Installation de l'opérateur de clés secrètes externes dans Kubernetes
- Application de diverses configurations
- Exécution de uipathctl
- Installation
- Post-installation
- Migration et mise à niveau
- Surveillance et alerte
- Administration du cluster
- Configuration spécifique au produit
- Configuration avancée d'Orchestrator
- Configuration des paramètres d'Orchestrator
- Configuration des paramètres d'application
- Configuration de la taille maximale de la requête
- Remplacement de la configuration du stockage au niveau du cluster
- Configuration de NLog
- Enregistrement des journaux du robot dans Elasticsearch
- Configuration des magasins d'informations d'identification
- Configuration de la clé de chiffrement par locataire
- Nettoyer la base de données Orchestrator
- Ignorer l’installation de la bibliothèque hôte
- Rotation des informations d’identification de stockage d’objets blob
- Désactivation de l'utilisation d'URL pré-signées lors du téléchargement de données vers le stockage Amazon S3
- Configuration de la sécurité de l'application de processus
- Configurer une authentification Kerberos avec l’authentification MSSQL de base pour Process Mining
- AI Trust Layer
- Résolution des problèmes
- La configuration de sauvegarde ne fonctionne pas en raison d’un échec de connexion à Azure Government
- Pods dans l'espace de noms uipath bloqués lors de l'activation des rejets de nœuds personnalisés
- Impossible de lancer Automation Hub et Apps avec la configuration proxy
- La sauvegarde de Velero échoue avec l'erreur FailedValidation
- Résolution des problèmes de clés secrètes externes
- Résolution des problèmes de Temporel en tant que service
- Les pods AI Center et Document Understanding ne démarrent pas avec la vérification du certificat TLS activée
- Erreurs de validation du certificat TLS
- Fluentd n’exporte pas les journaux dans les environnements IPv6
- Studio Desktop ne peut pas charger les connecteurs et activités Integration Service
- Atténuation manuelle de la politique réseau ArgoCD
- Configurer les requêtes et les limites de ressources pour les charges de travail créées par uipathctl
Configuration réseau et exigences pour Automation Suite sur EKS/AKS.
Vous devez enregistrer et configurer des ressources Azure ou de mise en réseau 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 de mise en réseau, cela peut inclure la configuration de VNETs / VPC, DNS, sous-réseaux, NSGs /groupes de sécurité, passerelle NAT, Elastic IP et la passerelle Internet. Pour de plus amples informations, consultez la section Scénarios de déploiement.
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.
Vous pouvez utiliser n’importe quel CNI, du moment que les pods peuvent communiquer entre eux. De plus, pour bénéficier des stratégies réseau incluses avec Automation Suite, votre CNI doit prendre en charge et appliquer les stratégies réseau Kubernetes. Certains CNI, tels que le CNI Amazon VPC, n’activent pas l’application de la stratégie réseau par défaut. Pour de plus amples informations, consultez la section Politiques réseau.
Il existe des considérations spéciales pour les CNI cloud tels que le CNI Azure et le CNI Amazon VPC, qui ne prennent pas en charge les sous-réseaux de pods internes ou privés. Le nombre de pods requis pour Automation Suite dépend de votre sélection de produits et de l’amplitude de votre charge de travail. Par exemple, pour un déploiement où tous les services seraient activés et à utilisation élevée, vous pouvez avoir besoin de plus de 400 adresses IP pour prendre en charge les exigences de mise à l'échelle.
C’est pourquoi nous recommandons d’allouer une plage CIDR d’au moins /23.
Automation Suite prend en charge les configurations IPv6 et double pile.
La migration d'un protocole IPv4 à une pile vers un protocole IPv6 double-empile ou unique n'est pas prise en charge.
Toutes les dépendances externes, telles que SQL, Redis, le stockage d'objets et le DNS externe, doivent prendre en charge la famille d'adresses IP activée.
Les modifications apportées aux tables d’adresses IP ne sont pas recommandées ou prises en charge.
Configuration IPv6 ou double pile
Pour activer IPv6 ou la double pile, vous devez configurer le paramètre network dans le fichier input.json afin de spécifier si Automation Suite utilise IPv4, IPv6 ou les deux.
Vous pouvez le configurer comme suit :
-
Configuration double pile : active la communication IPv4 et IPv6 pour les services Automation Suite et les composants d'entrée.
Vous pouvez utiliser l'exemple suivant pour configurer la mise en réseau double pile :
"network": { "ipv4": { "enabled": true }, "ipv6": { "enabled": true } }"network": { "ipv4": { "enabled": true }, "ipv6": { "enabled": true } } -
Configuration sur IPv6 à pile unique : active la communication sur IPv6 uniquement et désactive IPv4.
Vous pouvez utiliser l'exemple suivant pour configurer la mise en réseau IPv6 à pile unique :
"network": { "ipv4": { "enabled": false }, "ipv6": { "enabled": true } }"network": { "ipv4": { "enabled": false }, "ipv6": { "enabled": true } }
Certains connecteurs Integration Service peuvent ne pas prendre en charge IPv6. Avant d'activer cette fonctionnalité, vérifiez la documentation du fournisseur et les exigences d'authentification des connecteurs que vous utilisez pour vous assurer qu'IPv6 est prise en charge.
Contrôleur d'entrée personnalisé
Si vous avez un contrôleur d’entrée personnalisé (NGINX), reportez-vous à Configuration de l’entrée NGINX 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: affectez des adresses IP publiques ou privées pour l'équilibreur de charge, configurez les enregistrements DNS pour mapper les noms de domaine complets à ces adresses IP et fournissez ces adresses IP dans la section d'entrée de
input.json. - IPs allouées dynamiquement : si vous ne fournissez pas d'adresse IP, Automation Suite allouera dynamiquement les adresses IP du sous-réseau du cluster à l'équilibreur de charge.
Les groupes de sécurité réseau sur l'équilibreur de charge doivent autoriser le trafic HTTPS depuis les clients finaux via le port 443. Par défaut, nous configurons l'équilibreur de charge pour effectuer des vérifications de l'intégrité TCP régulières.
Si vous utilisez votre propre entrée comme NGINX, assurez-vous de répondre à la configuration réseau requise documentée dans Configuration du contrôle d'entrée NGINX . Lorsque vous utilisez Istio qui déploie un NLB, notez que cela crée généralement trois écouteurs, qui incluent les ports 80, 443 et 15021. Cependant, il s’agit d’une configuration standard : vos besoins réels peuvent différer en fonction de vos circonstances exactes. Adaptez-vous donc en fonction de vos besoins.
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"
}
}
...
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>",
}
}
...
...
"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>",
}
}
...
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 :
FQDNalm.FQDNmonitoring.FQDNinsights.FQDN(si vous installez UiPath Insights)apps.FQDN(si vous installez des applications UiPath)
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.
Lorsque vous utilisez Route 53 pour DNS, remplacez les enregistrements DNS pertinents par des enregistrements Alias qui renvoient directement à l'équilibreur de charge Elastic Load Balancer (ElB) créé lors de l'installation. Cela garantit un routage approprié et une résolution plus rapide, surtout lorsque plusieurs adresses IP publiques sont impliquées lors d'installations multi-AZ dans les environnements AWS.
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 :
-
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 -
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}' -
Configurez votre DNS avec des noms de domaine complets mappés au point de terminaison ou aux adresses IP de l'équilibreur de charge.
-
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
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 .