- 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 avec des rôles de cluster
- Octroi d'autorisations d'installation sans rôles de cluster
- Installation et configuration du service Mesh
- Installer et configurer l'outil GitOps
- Installation de l'opérateur de clés secrètes externes
- Déploiement de Redis via OperatorHub
- 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
- Comment désinstaller Automation Suite
- Comment résoudre l'échec de la vérification de la connectivité préalable sur OpenShift 4.16–4.18
- Comment déployer Insights dans un cluster compatible FIPS
- Comment désactiver l’activation automatique CDI dans l’opérateur GPU Nvidia
- Comment encoder en URL un mot de passe de chaîne de connexion SQL
- 500 erreurs et limitation de débit sur les requêtes S3 dans ODF
- Résolution des problèmes de clés secrètes externes
- Configuration des tolérances des pilotes CSI pour ODF 4.20
- 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
- Studio Desktop ne peut pas charger les connecteurs et activités Integration Service
- Erreurs de validation du certificat TLS
- 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
Vue d'ensemble (Overview)
Architecture et topologie pour les déploiements actif/passif et actif/actif d'Automation Suite.
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.
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, seules les bases de données Autopilot pour Developers doivent être répliquées 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é, un seul cluster à la fois peut exécuter activement TaaS. Sur le cluster passif, mettez à l'échelle tous les déploiements TaaS à zéro réplique. Si les deux clusters se connectent simultanément au même magasin de persistance PostgreSQL, le conflit de verrouillage se produit et diminue les performances. Pour plus de détails, consultez la section Résolution des problèmes de Temporal en tant que service.
Équilibreur de charge et configuration DNS
Cette section décrit 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.
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 à la fois pour les clusters actifs (principals) et passifs (secondes).Tous les sous-domaines sont redirigés vers le même équilibreur de charge que leur domaine racine respectif, afin de maintenir la cohérence et la facilité de routage.
- Nom de domaine complet :
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 un fonctionnement normal, soit lors d’une 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é)*