- 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
Architecture et configuration des déploiements multi-sites actif/passif et actif/actif dans Automation Suite sur EKS/AKS.
Diagrammes
Le diagramme suivant représente un déploiement actif/passif standard d’Automation Suite :
Prérequis
Les composants matériels et d'infrastructure suivants sont requis pour un déploiement multi-sites.
Gestionnaire global de trafic (GTM)
Le GTM distribue le trafic sur l'ensemble de votre déploiement multi-sites Automation Suite. Il doit être hautement disponible et à l'abri des défaillances sur un site de déploiement unique. Le GTM doit également prendre en charge les vérifications de l'état qui isolent rapidement un site défectueux. Le GTM n'est pas obligatoire, mais il est recommandé pour un basculement rapide.
Lors de la configuration du GTM pour les déploiements actif/passif, utilisez /orchestrator_/api/status comme point de terminaison de santé. Ceci est crucial pour une gestion efficace de Disaster Recovery.
Load balancer
Chaque site a besoin d'un équilibreur de charge local capable d'équilibrer la charge du trafic vers n'importe quel nœud configuré sur le même site.
Nœud
Les deux sites doivent avoir un nombre identique de nœuds. Pour chaque site, vous devez configurer le cluster et les nœuds à l'aide de la documentation dans Cluster et nœuds Kubernetes. Pour de plus amples informations, consultez la section Calculateur de dimensionnement d’installation d’Automation Suite.
Base de données SQL
Un serveur SQL externe est nécessaire pour stocker les données. Pour la récupération d’urgence, vous avez besoin de Groupes de disponibilité toujours activés (ou MSSQL d’Amazon RDS avec ReadReplica) avec un serveur SQL principal sur le site 1 et au moins un serveur SQL secondaire situé physiquement sur le site 2, avec la synchronisation des données activée. Un processus d'écoute SQL est déployé sur le serveur SQL, et les deux clusters sont configurés pour utiliser l'adresse du même processus d'écoute.
Les sites et les clusters actifs (principal) et passifs (secondaires) doivent utiliser le point de terminaison principal de la base de données pour la communication de la base de données. En cas de sinistre, une fois la réplique de lecture hôtee, son point de terminaison doit être mis à jour dans les deux sites afin de servir de nouvelle chaîne de connexion à la base de données.
Pour simplifier la gestion du basculement, vous pouvez utiliser Amazon Route 53 afin de créer un enregistrement DNS pour la base de données. Il doit initialement pointer vers le point de terminaison (ou l'écouteur) de la base de données principale. En cas d'échec, mettez à jour l'enregistrement Route 53 pour pointer vers la base de données principale nouvellement promus (anciennement la réplique de lecture).
Base de données PostgreSQL
Process Mining, Autopilot pour Developers et Temporal en tant que service nécessitent un serveur PostgreSQL externe. Pour la récupération d’urgence, seule la base de données Autopilot pour Developers doit être répliquée sur le site secondaire. La base de données Process Mining/Airflow ne nécessite pas de réplication entre les sites, mais une instance PostgreSQL est toujours requise sur chaque site. TaaS n'est pas pris en charge dans le cluster secondaire; il est pris en charge uniquement dans le site principal dans un déploiement actif/passif.
Configurez un serveur PostgreSQL principal sur le site 1 avec une réplication de flux physique vers au moins une réplique en lecture seule sur le site 2, ou utilisez la fonctionnalité de réplication du fournisseur géré, telle que les répliques de lecture Amazon RDS, la base de données Automation PostgreSQL ou la base de données Azure pour PostgreSQL Flex Réplications géographique du serveur.
PostgreSQL ne prend en charge qu'une seule entité inscriptible à la fois, de sorte que les clusters actif et passif doivent utiliser le point de terminaison principal actuel de la base de données. Lors de la reprise après sinistre, une fois la réplique du site 2 hôte, mettez à jour le point de terminaison de la base de données dans les deux sites pour pointer vers l'hôte nouvellement promu. Pour simplifier le basculement, utilisez un enregistrement DNS pour le point de terminaison de la base de données et mettez-le à jour lors du basculement.
Magasin d'objets
Tous les fichiers ou packages téléchargés vers les produits sont stockés dans le magasin d’objets. Pour une plus grande résilience face aux défaillances, les déploiements d’Automation Suite nécessitent un magasin d’objets externe.
Pour améliorer l’efficacité de la récupération d’urgence, deux instances de magasin d’objets sont requises, soit une dans chaque centre de données. Il faut constamment qu’une seule instance de magasin d’objets soit utilisée de manière active pour les activités de lecture et d’écriture des deux clusters, complétées par une réplication asynchrone vers l’instance secondaire.
Temporel en tant que service (TaaS)
Si Maestro est activé, seul un cluster peut exécuter activement SaaS à la fois. Sur le cluster passif, mettez à l’échelle tous les déploiements TaaS en l’absence de réplique. Si les deux clusters se connectent simultanément au même magasin de persistance PostgreSQL, un conflit de verrouillage se produit et dégrad les performances. Pour plus de détails, consultez la section Résolution des problèmes de Temporel en tant que service.
Équilibreur de charge et configuration DNS
Cette section décrit la configuration de l'infrastructure, l'architecture DNS et la logique de routage d'un système conçu pour fonctionner dans des scénarios normaux et de Disaster Recovery.
Présentation de l’infrastructure
Pour prendre en charge la haute disponibilité et la récupération d'urgence, le système nécessite une configuration à double équilibreur de charge :
- Équilibreur de charge principal: affecté au cluster actif (principal) pour gérer le trafic d’application standard.
- Équilibreur de charge secondaire: affecté au cluster passif (seconde), prêt à prendre le dessus en cas d’échec du cluster principal.
Chaque équilibreur de charge se voit attribuer une adresse IP d’Elastic (EIP) unique, qui sert de point de terminaison pour la résolution DNS.
Architecture DNS
Pour faciliter la gestion du trafic et l'accessibilité des services spécifiques au cluster, deux niveaux de configuration DNS sont utilisés.
- Nom de domaine complet: le nom de domaine complet de l'application est le principal domaine utilisé par les utilisateurs finaux pour accéder à l'interface de l'application. Cette valeur correspond au champ
fqdndansinput.json. Pour des détails, reportez-vous à Configurations actif/passif. - Noms de domaine complets spécifiques au cluster: en plus du nom de domaine complet de l'application principale, chaque cluster nécessite son propre nom de domaine complet pour les outils d'administration et de surveillance. Cette valeur est définie sous le champ
cluster_fqdndans le fichierinput.jsonde chaque cluster. Pour des détails, reportez-vous à Configurations actif/passif. - Sous-domaines: pour un accès complet au service, un ensemble de sous-domaines est configuré à la fois pour le nom de domaine complet de l'application et chaque nom de domaine complet spécifique au cluster. Celles-ci comprennent :
-
Nom de domaine complet :
apps.<domain>: utilisé par Apps.insights.<domain>: utilisé par pour Insights.
-
Nom de domaine complet spécifique au cluster :
alm.<domain>: utilisé par ArgoCD et pour la gestion du déploiement. Cela est requis pour les clusters actif (principal) et passés (secondes).monitoring.<domain>: utilisé pour l’observabilité et les alertes. Cela est requis pour les clusters actif (principal) et passés (secondes).
Tous les sous-domaines sont dirigés vers la même adresse IP Elastic (EIP) que leur domaine racine respectif, afin de maintenir la cohérence et de faciliter le routage.
-
Logique de routage DNS
La logique de routage DNS garantit que le trafic utilisateur est dirigé vers l'équilibreur de charge approprié en fonction de l'état du système, soit pendant le fonctionnement normal, soit lors de la récupération d'urgence.
-
Opérations normales (le cluster principal est actif) En mode d'exploitation standard, DNS achemine le trafic comme décrit dans le tableau suivant :
Type de nom de domaine complet Cible de routage Nom de domaine complet Équilibreur de charge du cluster principal Nom de domaine complet du cluster principal Équilibreur de charge du cluster principal Nom de domaine complet du cluster secondaire Équilibreur de charge de cluster secondaire -
Récupération d'urgence (Le cluster secondaire est actif) Si le cluster principal échoue, le système passe en mode de récupération d'urgence. Dans cet état, le DNS est ajusté pour assurer la continuité du service :
Type de nom de domaine complet Cible de routage Nom de domaine complet Équilibreur de charge de cluster secondaire Nom de domaine complet du cluster principal Équilibreur de charge de cluster principal* Nom de domaine complet du cluster secondaire Équilibreur de charge de cluster secondaire*(non modifié)*