- Vue d'ensemble (Overview)
- Prérequis
- Installation
- Questions et réponses : modèles de déploiement
- Configuration des machines
- Configuration du magasin d'objets externe
- Configuration d'un registre Docker externe
- Configurer l'équilibreur de charge
- Configuration du DNS
- Configuration de Microsoft SQL Server
- Configuration des certificats
- Installation de production en ligne multi-nœuds compatible haute disponibilité
- Installation de production hors ligne multi-nœuds compatible haute disponibilité
- Disaster Recovery - Installation du cluster secondaire
- Téléchargement des packages d'installation
- install-uipath.sh parameters
- Activation du module complémentaire Redis High Availability Add-on pour le cluster
- Fichier de configuration de Document Understanding
- Ajout d'un nœud d'agent dédié avec prise en charge GPU
- Ajout d'un nœud d'agent dédié pour Task Mining
- Connexion de l'application Task Mining
- Ajout d'un nœud d'agent dédié pour les Automation Suite Robots
- Post-installation
- Administration du cluster
- Gestion des produits
- Premiers pas avec le portail d'administration du cluster
- Migration d'un magasin d'objets d'un volume persistant vers des disques bruts
- Migration des données entre les librairies
- Migration d'un magasin d'objets intégré au cluster vers un magasin d'objets externe
- Basculer vers le cluster secondaire
- Disaster Recovery : exécution d'opérations post-installation
- Conversion d'une installation existante en configuration multi-sites
- Directives sur la mise à niveau d'un déploiement actif/passif
- Directives pour la sauvegarde et la restauration d'un déploiement actif/passif
- Surveillance et alerte
- Migration et mise à niveau
- Chemins de mise à niveau Automation Suite
- Automatisée : mise à niveau en ligne
- Automatisée : mise à niveau hors ligne
- Manuel : mise à niveau en ligne
- Manuel : mise à niveau hors ligne
- Annulation en cas d'erreur
- Migration d'un disque physique Longhorn vers LVM
- Migration de Canal vers Cilium CNI
- Rétrogradation de Ceph de la version 16.2.6 à la version 15.2.9
- Options de migration :
- Étape 1 : Déplacement des données d'organisation Identity d'installation autonome vers Automation Suite
- Étape 2 : Restauration de la base de données du produit autonome
- Étape 3 : Sauvegarder la base de données de la plate-forme dans Automation Suite
- Étape 4 : Fusion des organisations dans Automation Suite
- Étape 5 : Mise à jour des chaînes de connexion du produit migré
- Étape 6 : migration de la version autonome d’Insights
- Étape 7 : suppression du locataire par défaut
- Exécution d'une seule migration de locataire
- Configuration spécifique au produit
- 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
- Bonnes pratiques et maintenance
- Résolution des problèmes
- Comment résoudre les problèmes des services lors de l'installation
- Comment désinstaller le cluster
- Comment nettoyer les artefacts hors ligne pour améliorer l'espace disque
- Comment effacer les données Redis
- Comment activer la journalisation Istio
- Comment nettoyer manuellement les journaux
- Comment nettoyer les anciens journaux stockés dans le compartiment sf-logs
- Comment désactiver les journaux de diffusion pour AI Center
- Comment déboguer les installations d'Automation Suite ayant échoué
- Comment supprimer des images de l’ancien programme d’installation après la mise à niveau
- Comment nettoyer automatiquement les instantanés Longhorn
- Comment désactiver le déchargement de la somme de contrôle txt
- Comment définir manuellement le niveau de journalisation d’ArgoCD sur Info
- Comment générer la valeur pull_secret_value encodée pour les registres externes
- Comment résoudre les chiffrements faibles dans TLS 1.2
- Comment travailler avec les certificats
- Comment collecter les données d'utilisation de DU avec le magasin d'objets intégré au cluster (Ceph)
- Comment installer RKE2 SELinux dans des environnements isolés
- Comment nettoyer les anciennes sauvegardes différentielles sur un serveur NFS
- Impossible d'exécuter une installation hors ligne sur le système d'exploitation RHEL 8.4
- Erreur lors du téléchargement du bundle
- L'installation hors ligne échoue en raison d'un fichier binaire manquant
- Problème de certificat dans l'installation hors ligne
- La première installation échoue lors de la configuration de Longhorn
- Erreur de validation de la chaîne de connexion SQL
- Échec de la vérification des prérequis pour le module selinux iscsid
- Disque Azure non marqué comme SSD
- Échec après la mise à jour du certificat
- L'antivirus provoque des problèmes d'installation
- Automation Suite ne fonctionne pas après la mise à niveau du système d'exploitation
- Automation Suite requiert que backlog_wait_time soit défini sur 0
- Nœud GPU affecté par l'indisponibilité des ressources
- Volume impossible à monter car il n'est pas prêt pour les charges de travail
- Échec de la collecte du journal du pack d'assistance
- Échec de la mise à niveau du nœud unique à l’étape Fabric
- Cluster défectueux après la mise à niveau automatisée à partir de la version 2021.10
- Échec de la mise à niveau en raison d’un Ceph défectueux
- RKE2 ne démarre pas en raison d'un problème d'espace
- Échec de la validation SQL lors de la mise à niveau
- Le pod d'instantané-contrôleur-crds dans l'état CrashLoopBackOff après la mise à niveau
- Échec du chargement ou du téléchargement des données dans l'objectstore
- Le redimensionnement de la PVC ne répare pas Ceph
- Échec du redimensionnement du PVC
- Échec du redimensionnement du PVC objectstore
- Rook Ceph ou pod Looker bloqué dans l'état Init
- Erreur de pièce jointe du volume Ensembles d'états.
- Échec de la création de volumes persistants
- Correctif de récupération du stockage
- La sauvegarde a échoué en raison de l’erreur TropInstantanés (TooManySnapshots)
- Toutes les répliques Longhorn sont défaillantes
- Définition d'un délai d'expiration pour les portails de gestion
- Mettre à jour les connexions du répertoire sous-jacent
- L'authentification ne fonctionne pas après la migration
- kinit : Impossible de trouver le KDC pour le domaine <AD Domain> lors de l'obtention des informations d'identification initiales
- Kinit : Keytab ne contient aucune clé appropriée pour *** lors de l'obtention des informations d'identification initiales
- L'opération GSSAPI a échoué en raison d'un code de statut non valide
- Alarme reçue pour l'échec de la tâche Kerberos-tgt-update
- Fournisseur SSPI : serveur introuvable dans la base de données Kerberos
- La connexion a échoué pour l'utilisateur AD en raison d'un compte désactivé
- Échec de connexion à ArgoCD
- Impossible d'obtenir l'image du bac à sable
- Les pods ne s'affichent pas dans l'interface utilisateur ArgoCD
- Échec de la sonde Redis
- Le serveur RKE2 ne démarre pas
- Secret introuvable dans l'espace de noms UiPath
- ArgoCD passe à l'état Progression (Progressing) après la première installation
- Problèmes d'accès au compte ArgoCD en lecture seule
- Pods MongoDB en mode CrashLoopBackOff ou enregistrement PVC en attente après suppression
- Services défectueux après la restauration ou l'annulation du cluster
- Pods bloqués dans Init:0/X
- Prometheus en état CrashloopBackoff avec erreur de mémoire insuffisante (OOM)
- Métriques Ceph-rook manquantes dans les tableaux de bord de surveillance
- Les pods ne peuvent pas communiquer avec le nom de domaine complet dans un environnement proxy
- Échec de la configuration des alertes par e-mail après la mise à niveau
- Aucun problème sain en amont
- Document Understanding n'est pas affiché sur la barre de gauche d'Automation Suite
- État Échec (Failed) lors de la création d'une session de labellisation des données
- État Échec (Failed) lors de la tentative de déploiement d'une compétence ML
- La tâche de migration échoue dans ArgoCD
- La reconnaissance de l'écriture manuscrite avec l'Extracteur de formulaires intelligents (Intelligent Form Extractor) ne fonctionne pas
- Échec du déploiement de la compétence ML en raison de l'expiration du jeton
- Exécution de la haute disponibilité avec Process Mining
- Échec de l’ingestion de Process Mining lors de la connexion à l’aide de Kerberos
- Impossible de se connecter à la base de données AutomationSuite_ProcessMining_Authentication à l'aide d'une chaîne de connexion au format pyodbc
- L'installation d'airflow échoue avec sqlalchemy.exc.ArgumentError: impossible d'analyser l'URL rfc1738 de la chaîne ''
- Comment ajouter une règle de table d'adresses IP pour utiliser le port SQL Server 1433
- Utilisation de l'outil de diagnostic d'Automation Suite
- Utilisation du pack d'assistance Automation Suite
- Explorer les journaux
Le fichier cluster_config.json définit les paramètres et préférences appliqués aux produits UiPath déployés via Automation Suite. Vous devez mettre à jour ce fichier pour modifier les valeurs par défaut et utiliser une configuration avancée pour votre cluster.
Pour modifier cluster_config.json, vous pouvez utiliser :
- un éditeur de texte Linux, tel que vi ou GNU nano, directement sur la machine Linux via SSH (par exemple, commande :
vi cluster_config.json) ; - votre éditeur de texte préféré, puis copier-coller le fichier sur la machine.
The cluster_config.json file allows you to configure the UiPath products you want to deploy. Be aware that products may have dependencies. For details, see Cross-product dependencies.
Pour activer ou désactiver un service via le fichier cluster_config.json, utilisez true ou false pour l'indicateur enabled.
Exemple Cluster_config.json
{
"fqdn": "PLACEHOLDER",
"cluster_fqdn": "PLACEHOLDER",
"fixed_rke_address": "PLACEHOLDER",
"admin_username": "PLACEHOLDER",
"admin_password": "PLACEHOLDER",
"rke_token": "PLACEHOLDER ",
"zone_resilience": false,
"registries": {
"docker": {
"url": "registry.uipath.com"
},
"helm": {
"url": "registry.uipath.com"
}
},
"sql_connection_string_template": "PLACEHOLDER",
"sql_connection_string_template_jdbc": "PLACEHOLDER",
"sql_connection_string_template_odbc": "PLACEHOLDER",
"sql_connection_string_template_sqlalchemy_pyodbc": "PLACEHOLDER",
"orchestrator": {
"testautomation": {
"enabled": true
},
"updateserver": {
"enabled": true
},
"enabled": true
},
"infra": {
"docker_registry": {
"username": " PLACEHOLDER ",
"password": " PLACEHOLDER "
},
"pod_log_path": ""
},
"platform": {
"enabled": true
},
"automation_hub": {
"enabled": true
},
"automation_ops": {
"enabled": true
},
"action_center": {
"enabled": true
},
"aicenter": {
"enabled": true
},
"documentunderstanding": {
"enabled": true,
"datamanager": {}
},
"task_mining": {
"enabled": true
},
"apps": {
"enabled": true
},
"test_manager": {
"enabled": true
},
"insights": {
"enabled": true
},
"dataservice": {
"enabled": true
},
"asrobots": {
"enabled": true,
"packagecaching": true,
"packagecachefolder": "/uipath_asrobots_package_cache"
},
"processmining": {
"enabled": true
},
"external_object_storage": {
"enabled": false
},
"identity_certificate": {},
"profile": "ha",
"telemetry_optout": false,
"alternative_fqdn": "",
"server_certificate": {
"ca_cert_file": "/opt/UiPathAutomationSuite/UiPath_Installer/rootCA.crt",
"tls_cert_file": "/opt/UiPathAutomationSuite/UiPath_Installer/server.crt",
"tls_key_file": "/opt/UiPathAutomationSuite/UiPath_Installer/server.key"
},
"alternative_certificate": {
"ca_cert_file": "/opt/UiPathAutomationSuite/UiPath_Installer/alt-rootCA.crt",
"tls_cert_file": "/opt/UiPathAutomationSuite/UiPath_Installer/alt-server.crt",
"tls_key_file": "/opt/UiPathAutomationSuite/UiPath_Installer/alt-server.key"
}
}
{
"fqdn": "PLACEHOLDER",
"cluster_fqdn": "PLACEHOLDER",
"fixed_rke_address": "PLACEHOLDER",
"admin_username": "PLACEHOLDER",
"admin_password": "PLACEHOLDER",
"rke_token": "PLACEHOLDER ",
"zone_resilience": false,
"registries": {
"docker": {
"url": "registry.uipath.com"
},
"helm": {
"url": "registry.uipath.com"
}
},
"sql_connection_string_template": "PLACEHOLDER",
"sql_connection_string_template_jdbc": "PLACEHOLDER",
"sql_connection_string_template_odbc": "PLACEHOLDER",
"sql_connection_string_template_sqlalchemy_pyodbc": "PLACEHOLDER",
"orchestrator": {
"testautomation": {
"enabled": true
},
"updateserver": {
"enabled": true
},
"enabled": true
},
"infra": {
"docker_registry": {
"username": " PLACEHOLDER ",
"password": " PLACEHOLDER "
},
"pod_log_path": ""
},
"platform": {
"enabled": true
},
"automation_hub": {
"enabled": true
},
"automation_ops": {
"enabled": true
},
"action_center": {
"enabled": true
},
"aicenter": {
"enabled": true
},
"documentunderstanding": {
"enabled": true,
"datamanager": {}
},
"task_mining": {
"enabled": true
},
"apps": {
"enabled": true
},
"test_manager": {
"enabled": true
},
"insights": {
"enabled": true
},
"dataservice": {
"enabled": true
},
"asrobots": {
"enabled": true,
"packagecaching": true,
"packagecachefolder": "/uipath_asrobots_package_cache"
},
"processmining": {
"enabled": true
},
"external_object_storage": {
"enabled": false
},
"identity_certificate": {},
"profile": "ha",
"telemetry_optout": false,
"alternative_fqdn": "",
"server_certificate": {
"ca_cert_file": "/opt/UiPathAutomationSuite/UiPath_Installer/rootCA.crt",
"tls_cert_file": "/opt/UiPathAutomationSuite/UiPath_Installer/server.crt",
"tls_key_file": "/opt/UiPathAutomationSuite/UiPath_Installer/server.key"
},
"alternative_certificate": {
"ca_cert_file": "/opt/UiPathAutomationSuite/UiPath_Installer/alt-rootCA.crt",
"tls_cert_file": "/opt/UiPathAutomationSuite/UiPath_Installer/alt-server.crt",
"tls_key_file": "/opt/UiPathAutomationSuite/UiPath_Installer/alt-server.key"
}
}
Configuration générale
| Paramètres obligatoires | Description |
|---|---|
|
|
Le nom de domaine de l'équilibreur de charge (mode de production multi-nœuds compatible haute disponibilité) ou de la machine (mode d'évaluation à nœud unique). |
|
|
Fixed address used to load balance node registration and kube API requests. This should be fqdn if load balancer is configured as recommended. Otherwise FQDN of 1st Server Node. Refer to Configuring the load balancer. Peut être l'IP/le FQDN du premier serveur rke2 de votre configuration. |
|
|
Défini sur |
|
|
Le nom d'utilisateur que vous souhaitez définir comme administrateur (par exemple : admin) pour l'organisation hôte. |
|
|
Mot de passe de l'administrateur hôte à définir. |
|
|
Utilisez un GUID nouvellement généré ici. Il s'agit d'une clé secrète pré-partagée, spécifique au cluster. Elle est nécessaire pour tous les nœuds rejoignant le cluster. |
|
|
Définit le profil de l'installation. Les profils disponibles sont :
La valeur de cet indicateur est définie automatiquement par le programme d'installation interactif. Elle est utilisée à des fins internes uniquement et ne doit pas être modifiée manuellement. |
|
|
Le nom d'utilisateur que vous souhaitez définir pour l'installation du registre docker. |
|
|
Le mot de passe que vous souhaitez définir pour l'installation du registre docker. |
| Paramètres facultatifs | Description |
|---|---|
telemetry_optout | true ou false - utilisé pour refuser le renvoi de la télémétrie à UiPath. Il est défini sur false par défaut.Si vous souhaitez le désactiver, définissez-le sur true. |
infra.pod_log_path | Vous permet de remplacer le chemin par défaut /var/log/pods des journaux de pod par le chemin personnalisé de votre choix.La mise à jour du chemin du journal a pour effet de supprimer les journaux du conteneur existant dans /var/log/pods. |
Configuration du certificat
Si aucun certificat n'est fourni au moment de l'installation, le programme d'installation crée un certificat auto-émis et le configure dans le cluster.
La validité des certificats auto-signés est de 90 jours.
Pour plus de détails sur la façon d'obtenir un certificat, consultez :
- Mode d'évaluation à nœud unique : Configuration des certificats
- Mode de production multi-nœuds compatible haute disponibilité : configuration des certificats
Assurez-vous de spécifier le chemin absolu pour les fichiers de certificat. Exécutez pwd pour obtenir le chemin du répertoire où les fichiers sont placés et ajoutez le nom du fichier de certificat dans cluster_config.json.
Dans les installations en mode de production multi-nœuds compatible haute disponibilité, un certificat est requis uniquement sur le premier nœud.
| Paramètre | Description |
|---|---|
server_certificate.ca_cert_file | Chemin absolu vers le certificat de l'autorité de certification. Cette autorité de certification est l'autorité qui signe le certificat TLS. Un bundle d'autorité de certification ne doit contenir que les certificats de chaîne utilisés pour signer le certificat TLS. La limite de la chaîne est de neuf certificats. Si vous utilisez un certificat auto-signé, vous devez spécifier le chemin d'accès au rootCA.crt, que vous avez créé précédemment. Laissez ce champ vide si vous souhaitez que le programme d'installation le génère. |
server_certificate.tls_cert_file | Chemin absolu vers le certificat TLS (server.crt est le certificat auto-signé). Laissez ce champ vide si vous souhaitez que le programme d'installation le génère. |
server_certificate.tls_key_file | Chemin absolu vers la clé de certificat (server.key est le certificat auto-signé). Laissez ce champ vide si vous souhaitez que le programme d'installation le génère. |
identity_certificate.token_signing_cert_file | Chemin absolu vers le certificat de signature du jeton d'identité utilisé pour signer les jetons (identity.pfx est le certificat auto-signé). Laissez ce champ vide si vous souhaitez que le programme d'installation génère un certificat d'identité à l'aide du certificat du serveur. |
identity_certificate.token_signing_cert_pass | Mot de passe en texte brut défini lors de l'exportation du certificat de signature du jeton d'identité. |
additional_ca_certs | Chemin d'accès absolu au fichier contenant les certificats de l'autorité de certification supplémentaires que tous les services exécutés dans le cadre d'Automation Suite doivent approuver. Tous les certificats du fichier doivent être dans un format PEM valide.Par exemple, vous devez fournir le fichier contenant le certificat de l'autorité de certification du serveur SQL si le certificat n'est pas émis par une autorité de certification publique. |
Configuration de la base de données
Workflow de création de base de données
Le programme d'installation interactif crée automatiquement des bases de données à l'aide du workflow suivant :
- Le script d'installation interactif vérifie la valeur du paramètre
sql.create_dbdans le fichiercluster_config.json.-
Si le paramètre
sql.create_dbest défini surtrue, le programme d'installation génère automatiquement toutes les bases de données en votre nom. Dans ce cas, le programme d'installation utilise les noms de base de données par défaut et les modèles par défaut, et ignore tous les noms de base de données personnalisés que vous avez fournis.For details, see Automatically create the necessary databases.
-
Si
sql.create_dbest défini surfalse, vous devez apporter vos propres bases de données. Dans ce cas, vous devez configurer manuellement vos bases de données. Notez que vous pouvez utiliser des noms de base de données personnalisés, à condition de suivre les conventions d'affectation de nom fournies. Cette étape est essentielle car nous utilisons le nom de la base de données conjointement avec le modèle de connexion pour former la chaîne de connexion de la base de données. Si vous ne suivez pas la convention d’affectation de noms recommandée, vous devez fournir vous-même les chaînes de connexion SQL.For details, see Bring your own databases.
-
- Le programme d'installation interactif génère les chaînes de connexion comme suit :
- Si vous n’avez pas défini de chaîne de connexion pour votre service, le programme d’installation utilise le modèle de connexion pour générer toutes les chaînes de connexion de la base de données.
- Si vous avez défini une chaîne de connexion pour votre service, le programme d’installation utilise la chaîne de connexion fournie pour votre base de données.
Créer automatiquement les bases de données nécessaires
Si vous souhaitez que le programme d'installation crée les bases de données, veuillez remplir les champs suivants du fichier cluster_config.json :
| Paramètre | Description |
|---|---|
sql.create_db | Définissez sur true pour permettre au programme d'installation de créer les bases de données. Notez que le programme d'installation utilise les noms de base de données par défaut et les modèles par défaut, et ignore tous les noms de base de données personnalisés que vous avez fournis. |
sql.server_url | Nom de domaine complet du serveur SQL, où vous souhaitez que le programme d'installation configure la base de données. |
sql.port | Numéro de port sur lequel une instance de base de données doit être hébergée dans le serveur SQL. |
sql.username | Nom d'utilisateur / ID d'utilisateur pour se connecter au serveur SQL. |
sql.password | Mot de passe du nom d'utilisateur fourni précédemment pour se connecter au serveur SQL. |
- Assurez-vous que l'utilisateur dispose du rôle
dbcreator. Cela leur accorde l'autorisation de créer la base de données dans SQL Server. Sinon, l'installation échoue. - La connexion ODBC ne prend pas en charge les noms d'utilisateur contenant des caractères spéciaux. Pour les noms d'utilisateur de base de données pour AI Center, Document Understanding et Apps, utilisez uniquement des lettres majuscules et minuscules.
Fournissez votre propre base de données
Si vous choisissez d’apporter vos propres bases de données dans le cadre d’une nouvelle installation Automation Suite, nous vous recommandons fortement de créer de nouvelles bases de données plutôt que d’utiliser les bases existantes. Cette précaution est nécessaire afin d’éviter tout conflit avec le fonctionnement d’Automation Suite qui pourrait être provoqué par la présence de métadonnées relatives à d’anciennes bases de données.
Si vous apportez votre propre base de données, vous devez fournir les chaînes de connexion SQL pour chaque base de données. Automation Suite prend en charge les formats de chaîne de connexion SQL suivants :
| Paramètre | Description | Produits |
|---|---|---|
sql_connection_string_template | Chaîne de connexion ADO.NET complète où le nom du catalogue est défini sur DB_NAME_PLACEHOLDER. Le programme d'installation remplacera cet espace réservé par les noms de base de données par défaut pour les services de la suite installée. | Plate-forme, Orchestrator, Automation Suite Robots, Test Manager, Automation Hub, Automation Ops, Insights, Task Mining, Data Service, Process Mining, Document Understanding |
sql_connection_string_template_jdbc | Chaîne de connexion JDBC complète où le nom de la base de données est défini sur DB_NAME_PLACEHOLDER. Le programme d'installation remplacera cet espace réservé par les noms de base de données par défaut pour les services de la suite installée. | AI Center 1 |
sql_connection_string_template_odbc | Chaîne de connexion ODBC complète où le nom de la base de données est défini sur DB_NAME_PLACEHOLDER. Le programme d'installation remplacera cet espace réservé par les noms de base de données par défaut pour les services de la suite installée. | Apps Document Understanding |
sql_connection_string_template_sqlalchemy_pyodbc | Chaîne de connexion PYODBC SQL complète où le nom de la base de données est défini sur DB_NAME_PLACEHOLDER. Le programme d'installation remplacera cet espace réservé par les noms de base de données par défaut pour les services de la suite installée. | Process Mining |
1 Pour installer AI Center sur une machine compatible FIPS 140-2, vous devez ajouter ce qui suit à sql_connection_string_template_jdbc: encrypt=true;trustServerCertificate=false;fips=true;.
Assurez-vous que le compte SQL spécifié dans les chaînes de connexion dispose des rôles db_securityadmin et db_owner pour toutes les bases de données Automation Suite. Si les restrictions de sécurité n'autorisent pas l'utilisation de db_owner, le compte SQL doit avoir les rôles et autorisations suivants sur toutes les bases de données :
db_securityadmindb_ddladmindb_datawriterdb_datareader- Autorisation
EXECUTEsur le schéma dbo
Nous utilisons uniquement les rôles db_securityadmin et db_ddladmin lors de l’installation, ou bien si les bases de données sont réenregistrées. Vous avez donc la possibilité de révoquer ces autorisations ultérieurement.
Insights nécessite l'attribution du rôle db_owner pour une installation réussie.
Si vous définissez manuellement les chaînes de connexion dans le fichier de configuration, vous pouvez échapper les mots de passe SQL, JDBC, ODBC ou PYODBC comme suit :
- pour SQL : ajoutez
'au début et à la fin du mot de passe, et doublez tout autre'. - pour JDBC/ODBC : ajoutez
{au début du mot de passe et}à la fin, et doublez tout autre}. - pour PYODBC :
usernameetpassworddoivent être encodés en pourcentage pour tenir compte des caractères spéciaux. Les mots de passe de la base de données Document Understanding ne peuvent pas commencer par{.
La base de données AutomationSuite_ProcessMining_Airflow du produit Process Mining doit avoir READ_COMMITTED_SNAPSHOT activé.
Par défaut, TrustServerCertificate est défini sur False et vous devez fournir un certificat CA supplémentaire pour SQL Server. Ceci est requis si le certificat SQL Server est auto-signé ou signé par une autorité de certification interne. Si vous ne fournissez pas le certificat SQL Server dans ce scénario, la vérification des prérequis échouera.
See Certificate configuration on this page for more details.
exemple sql_connection_string_template
Server=tcp:sfdev1804627-c83f074b-sql.database.windows.net:1433;Initial Catalog=DB_NAME_PLACEHOLDER;Persist Security Info=False;User Id=testadmin@sfdev1804627-c83f074b-sql.database.windows.net;Password=***;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;Max Pool Size=100;
Server=tcp:sfdev1804627-c83f074b-sql.database.windows.net:1433;Initial Catalog=DB_NAME_PLACEHOLDER;Persist Security Info=False;User Id=testadmin@sfdev1804627-c83f074b-sql.database.windows.net;Password=***;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;Max Pool Size=100;
exemple sql_connection_string_template_jdbc
jdbc:sqlserver://sfdev1804627-c83f074b-sql.database.windows.net:1433;database=DB_NAME_PLACEHOLDER;user=testadmin;password=***;encrypt=true;trustServerCertificate=false;Connection Timeout=30;hostNameInCertificate=sfdev1804627-c83f074b-sql.database.windows.net"
jdbc:sqlserver://sfdev1804627-c83f074b-sql.database.windows.net:1433;database=DB_NAME_PLACEHOLDER;user=testadmin;password=***;encrypt=true;trustServerCertificate=false;Connection Timeout=30;hostNameInCertificate=sfdev1804627-c83f074b-sql.database.windows.net"
exemple sql_connection_string_template_odbc
SERVER=sfdev1804627-c83f074b-sql.database.windows.net,1433;DATABASE=DB_NAME_PLACEHOLDER;DRIVER={ODBC Driver 17 for SQL Server};UID=testadmin;PWD=***;MultipleActiveResultSets=False;Encrypt=YES;TrustServerCertificate=NO;Connection Timeout=30;"
SERVER=sfdev1804627-c83f074b-sql.database.windows.net,1433;DATABASE=DB_NAME_PLACEHOLDER;DRIVER={ODBC Driver 17 for SQL Server};UID=testadmin;PWD=***;MultipleActiveResultSets=False;Encrypt=YES;TrustServerCertificate=NO;Connection Timeout=30;"
sql_connection_string_template_sqlalchemy_pyodbc example
mssql+pyodbc://testuser%40sfdev3082457-sql.database.windows.net:_-%29X07_%5E3-%28%3B%25e-T@sfdev3082457-sql.database.windows.net:1433/DB_NAME_PLACEHOLDER?driver=ODBC+Driver+17+for+SQL+Server"
mssql+pyodbc://testuser%40sfdev3082457-sql.database.windows.net:_-%29X07_%5E3-%28%3B%25e-T@sfdev3082457-sql.database.windows.net:1433/DB_NAME_PLACEHOLDER?driver=ODBC+Driver+17+for+SQL+Server"
sql_connection_string_template and sql_connection_string_template_sqlalchemy_pyodbc example (Process Mining)
"sql_connection_string_template": "Server=tcp:sfdev4515230-sql.database.windows.net,1433;Initial Catalog=DB_NAME_PLACEHOLDER;Persist Security Info=False;User Id=testadmin@sfdev4515230-sql.database.windows.net;Password='***';MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;Max Pool Size=100;"
"sql_connection_string_template_sqlalchemy_pyodbc": "mssql+pyodbc://testadmin%40sfdev4515230-sql.database.windows.net:07%3Cl%5Bxj-%3D~%3Az%60Ds%26nl@sfdev4515230-sql.database.windows.net:1433/DB_NAME_PLACEHOLDER?driver=ODBC+Driver+17+for+SQL+Server"
"sql_connection_string_template": "Server=tcp:sfdev4515230-sql.database.windows.net,1433;Initial Catalog=DB_NAME_PLACEHOLDER;Persist Security Info=False;User Id=testadmin@sfdev4515230-sql.database.windows.net;Password='***';MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;Max Pool Size=100;"
"sql_connection_string_template_sqlalchemy_pyodbc": "mssql+pyodbc://testadmin%40sfdev4515230-sql.database.windows.net:07%3Cl%5Bxj-%3D~%3Az%60Ds%26nl@sfdev4515230-sql.database.windows.net:1433/DB_NAME_PLACEHOLDER?driver=ODBC+Driver+17+for+SQL+Server"
Noms de bases de données par défaut et facultatifs pour les services Automation Suite
{
"orchestrator": "AutomationSuite_Orchestrator",
"orchestrator_ta": "AutomationSuite_Orchestrator",
"asrobots": "AutomationSuite_Orchestrator",
"orchestrator_upd": "AutomationSuite_Platform",
"platform": "AutomationSuite_Platform",
"test_manager": "AutomationSuite_Test_Manager",
"automation_ops": "AutomationSuite_Platform",
"automation_hub": "AutomationSuite_Automation_Hub",
"insights": "AutomationSuite_Insights",
"task_mining": "AutomationSuite_Task_Mining",
"dataservice": "AutomationSuite_DataService",
"aicenter": "AutomationSuite_AICenter",
"documentunderstanding": "AutomationSuite_DU_Datamanager",
"processmining_airflow": "AutomationSuite_Airflow",
"processmining_metadata": "AutomationSuite_ProcessMining_Metadata",
"processmining_warehouse": "AutomationSuite_ProcessMining_Warehouse",
"apps": "AutomationSuite_Apps",
}
{
"orchestrator": "AutomationSuite_Orchestrator",
"orchestrator_ta": "AutomationSuite_Orchestrator",
"asrobots": "AutomationSuite_Orchestrator",
"orchestrator_upd": "AutomationSuite_Platform",
"platform": "AutomationSuite_Platform",
"test_manager": "AutomationSuite_Test_Manager",
"automation_ops": "AutomationSuite_Platform",
"automation_hub": "AutomationSuite_Automation_Hub",
"insights": "AutomationSuite_Insights",
"task_mining": "AutomationSuite_Task_Mining",
"dataservice": "AutomationSuite_DataService",
"aicenter": "AutomationSuite_AICenter",
"documentunderstanding": "AutomationSuite_DU_Datamanager",
"processmining_airflow": "AutomationSuite_Airflow",
"processmining_metadata": "AutomationSuite_ProcessMining_Metadata",
"processmining_warehouse": "AutomationSuite_ProcessMining_Warehouse",
"apps": "AutomationSuite_Apps",
}
Si vous souhaitez remplacer la chaîne de connexion pour l'un des services ci-dessus, définissez le sql_connection_str pour ce service spécifique.
Vous devez toujours créer manuellement ces bases de données avant d'exécuter le programme d'installation.
Remplacer la chaîne de connexion par défaut pour Orchestrator et la plateforme
{
"orchestrator": {
"sql_connection_str": "Server=tcp:sfdev1804627-c83f074b-sql.database.windows.net,1433;Initial Catalog=CustomOrchDB;Persist Security Info=False;User Id=testadmin@sfdev1804627-c83f074b-sql.database.windows.net;Password=***;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;Max Pool Size=100;"
},
"platform": {
"sql_connection_str": "Server=tcp:sfdev1804627-c83f074b-sql.database.windows.net,1433;Initial Catalog=CustomIDDB;Persist Security Info=False;User Id=testadmin@sfdev1804627-c83f074b-sql.database.windows.net;Password=***;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;Max Pool Size=100;"
}
}
{
"orchestrator": {
"sql_connection_str": "Server=tcp:sfdev1804627-c83f074b-sql.database.windows.net,1433;Initial Catalog=CustomOrchDB;Persist Security Info=False;User Id=testadmin@sfdev1804627-c83f074b-sql.database.windows.net;Password=***;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;Max Pool Size=100;"
},
"platform": {
"sql_connection_str": "Server=tcp:sfdev1804627-c83f074b-sql.database.windows.net,1433;Initial Catalog=CustomIDDB;Persist Security Info=False;User Id=testadmin@sfdev1804627-c83f074b-sql.database.windows.net;Password=***;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;Max Pool Size=100;"
}
}
Pour remplacer les chaînes de connexion à la base de données pour d'autres produits, définissez le sql_connection_str dans les blocs de produits correspondants. La chaîne de connexion doit avoir un format pris en charge par le produit respectif.
Exemple de définition de la chaîne de connexion à la base de données pour AI Center
| Paramètre | Description |
|---|---|
aicenter.sql_connection_str | Chaîne de connexion AICenter JDBC (voir ci-dessous pour le format JDBC) |
Assurez-vous que la chaîne de connexion JDBC a le même format que dans l'exemple suivant :
"aicenter": {
"enabled": true,
"sql_connection_str": "jdbc:sqlserver://sfdev1804627-c83f074b-sql.database.windows.net;database=aicenter;user=testadmin@sfdev1804627-c83f074b-sql.database.windows.net;password=TFgID_9GsE7_P@srCQp0WemXX_euHQZJ"
}
"aicenter": {
"enabled": true,
"sql_connection_str": "jdbc:sqlserver://sfdev1804627-c83f074b-sql.database.windows.net;database=aicenter;user=testadmin@sfdev1804627-c83f074b-sql.database.windows.net;password=TFgID_9GsE7_P@srCQp0WemXX_euHQZJ"
}
Exemple de chaîne de connexion Document Understanding
"documentunderstanding": {
"enabled": true,
"sql_connection_str": "" // dotnet connection string,
"datamanager": {
"sql_connection_str": "" // odbc connection string
}
}
"documentunderstanding": {
"enabled": true,
"sql_connection_str": "" // dotnet connection string,
"datamanager": {
"sql_connection_str": "" // odbc connection string
}
}
La chaîne de connexion SQL du Data Manager est facultative uniquement si vous souhaitez remplacer la valeur par défaut par la vôtre.
L'écriture manuscrite est toujours activée pour l'installation en ligne.
La valeur par défaut de max_cpu_per-pod est 2, mais vous pouvez l'ajuster en fonction de vos besoins.
Exemple de chaîne de connexion Process Mining
"processmining": {
"enabled": true,
"warehouse": {
"sql_connection_str": "Server=tcp:sfdev4515230-sql.database.windows.net,1433;Initial Catalog=AutomationSuite_ProcessMining_Warehouse;User Id=testadmin@sfdev4515230-sql.database.windows.net;Password='***';Persist Security Info=False;Integrated Security=true;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=True;Connection Timeout=30;Max Pool Size=100;",
"sqlalchemy_pyodbc_sql_connection_str": "mssql+pyodbc://:@sfdev4515230-sql.database.windows.net:1433/AutomationSuite_ProcessMining_Warehouse?driver=ODBC+Driver+17+for+SQL+Server&TrustServerCertificate=YES&Encrypt=YES&Trusted_Connection=yes",
"master_sql_connection_str": "Server=tcp:sfdev4515230-sql.database.windows.net,1433;Initial Catalog=master;Persist Security Info=False;Integrated Security=true;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=True;Connection Timeout=30;Max Pool Size=100;"
},
"sqlalchemy_pyodbc_sql_connection_str": "mssql+pyodbc://testadmin%40sfdev4515230-sql.database.windows.net:07%3Cl%5Bxj-%3D~%3Az%60Ds%26nl@sfdev4515230-sql.database.windows.net:1433/AutomationSuite_Airflow?driver=ODBC+Driver+17+for+SQL+Server&TrustServerCertificate=YES&Encrypt=YES"
"sql_connection_str": "Server=tcp:sfdev4515230-sql.database.windows.net,1433;Initial Catalog=AutomationSuite_ProcessMining_Metadata;User Id=testadmin@sfdev4515230-sql.database.windows.net;Password='***';Persist Security Info=False;Integrated Security=true;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=True;Connection Timeout=30;Max Pool Size=100;",
},
"processmining": {
"enabled": true,
"warehouse": {
"sql_connection_str": "Server=tcp:sfdev4515230-sql.database.windows.net,1433;Initial Catalog=AutomationSuite_ProcessMining_Warehouse;User Id=testadmin@sfdev4515230-sql.database.windows.net;Password='***';Persist Security Info=False;Integrated Security=true;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=True;Connection Timeout=30;Max Pool Size=100;",
"sqlalchemy_pyodbc_sql_connection_str": "mssql+pyodbc://:@sfdev4515230-sql.database.windows.net:1433/AutomationSuite_ProcessMining_Warehouse?driver=ODBC+Driver+17+for+SQL+Server&TrustServerCertificate=YES&Encrypt=YES&Trusted_Connection=yes",
"master_sql_connection_str": "Server=tcp:sfdev4515230-sql.database.windows.net,1433;Initial Catalog=master;Persist Security Info=False;Integrated Security=true;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=True;Connection Timeout=30;Max Pool Size=100;"
},
"sqlalchemy_pyodbc_sql_connection_str": "mssql+pyodbc://testadmin%40sfdev4515230-sql.database.windows.net:07%3Cl%5Bxj-%3D~%3Az%60Ds%26nl@sfdev4515230-sql.database.windows.net:1433/AutomationSuite_Airflow?driver=ODBC+Driver+17+for+SQL+Server&TrustServerCertificate=YES&Encrypt=YES"
"sql_connection_str": "Server=tcp:sfdev4515230-sql.database.windows.net,1433;Initial Catalog=AutomationSuite_ProcessMining_Metadata;User Id=testadmin@sfdev4515230-sql.database.windows.net;Password='***';Persist Security Info=False;Integrated Security=true;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=True;Connection Timeout=30;Max Pool Size=100;",
},
Notez que les noms du modèle de chaîne de connexion PYODBC sql_connection_string_template_sqlalchemy_pyodbc et de la chaîne de connexion PYODBC sqlalchemy_pyodbc_sql_connection_str utilisés lorsque vous apportez votre propre base de données sont différents. De plus, les noms de chaîne de connexion sont différents pour le modèle SQL sql_connection_string_template et sql_connection_str utilisé lorsque vous apportez votre propre base de données.
Si vous apportez votre propre base de données et que vous l'avez configurée à l'aide des chaînes de connexion et sql_connection_str sqlalchemy_pyodbc_sql_connection_str dans la section processmining du fichier cluster_config.json , les chaînes de connexion modèles sql_connection_string_template et sql_connection_string_template_sqlalchemy_pyodbc sont ignorées si spécifiées.
MultiSubnetFailover=True n’est pas pris en charge. Assurez-vous de supprimer MultiSubnetFailover=True de l’une des chaînes de connexion de Process Mining.
Depending on the app_security_mode setting either a new SQL user is created for every Process Mining app by the system (app_security_mode="system_managed"), or a single SQL user account is created that is used for all process apps (app_security_mode="single_account"). Note that app_security_mode="system_managed" is the default setting, and that this requires advanced permissions for the database user. See Configuring process app security.
Exemple de chaîne de connexion Process Mining
- Scénario : configuration avec l’authentification Kerberos.
"processmining": {
"enabled": true,
"warehouse": {
"sql_connection_str": "Server=tcp:assql2019.autosuitead.local,1433;Initial Catalog=AutomationSuite_ProcessMining_Warehouse;Persist Security Info=False;Integrated Security=true;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=True;Connection Timeout=30;Max Pool Size=100;",
"sqlalchemy_pyodbc_sql_connection_str": "mssql+pyodbc://:@assql2019.autosuitead.local:1433/AutomationSuite_ProcessMining_Warehouse?driver=ODBC+Driver+17+for+SQL+Server&TrustServerCertificate=YES&Encrypt=YES&Trusted_Connection=yes",
"master_sql_connection_str": "Server=tcp:assql2019.autosuitead.local,1433;Initial Catalog=master;Persist Security Info=False;Integrated Security=true;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=True;Connection Timeout=30;Max Pool Size=100;"
},
"sqlalchemy_pyodbc_sql_connection_str": "mssql+pyodbc://:@assql2019.autosuitead.local:1433/AutomationSuite_Airflow?driver=ODBC+Driver+17+for+SQL+Server&TrustServerCertificate=YES&Encrypt=YES&Trusted_Connection=yes"
},
"processmining": {
"enabled": true,
"warehouse": {
"sql_connection_str": "Server=tcp:assql2019.autosuitead.local,1433;Initial Catalog=AutomationSuite_ProcessMining_Warehouse;Persist Security Info=False;Integrated Security=true;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=True;Connection Timeout=30;Max Pool Size=100;",
"sqlalchemy_pyodbc_sql_connection_str": "mssql+pyodbc://:@assql2019.autosuitead.local:1433/AutomationSuite_ProcessMining_Warehouse?driver=ODBC+Driver+17+for+SQL+Server&TrustServerCertificate=YES&Encrypt=YES&Trusted_Connection=yes",
"master_sql_connection_str": "Server=tcp:assql2019.autosuitead.local,1433;Initial Catalog=master;Persist Security Info=False;Integrated Security=true;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=True;Connection Timeout=30;Max Pool Size=100;"
},
"sqlalchemy_pyodbc_sql_connection_str": "mssql+pyodbc://:@assql2019.autosuitead.local:1433/AutomationSuite_Airflow?driver=ODBC+Driver+17+for+SQL+Server&TrustServerCertificate=YES&Encrypt=YES&Trusted_Connection=yes"
},
Exemple de chaîne de connexion Process Mining
- Scénario : la base de données de métadonnées et l’entrepôt de données utilisent un SQL Server distinct (authentification non Kerberos).
"processmining": {
"enabled": true,
"warehouse": {
"sql_connection_str": "Server=tcp:uipath-integration1.database.windows.net,1433;Initial Catalog=AutomationSuite_ProcessMining_Warehouse;Persist Security Info=False;User Id=userid;Password='password';MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=True;Connection Timeout=30;Max Pool Size=100;",
"sqlalchemy_pyodbc_sql_connection_str": "mssql+pyodbc://userid:password@uipath-integration1.database.windows.net:1433/AutomationSuite_ProcessMining_Warehouse?driver=ODBC+Driver+17+for+SQL+Server&TrustServerCertificate=YES&Encrypt=YES",
"master_sql_connection_str": "Server=tcp:uipath-integration1.database.windows.net,1433;Initial Catalog=master;Persist Security Info=False;User Id=userid;Password='password';MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=True;Connection Timeout=30;Max Pool Size=100;"
},
"sqlalchemy_pyodbc_sql_connection_str": "mssql+pyodbc://userid:password@uipath-integration2.database.windows.net:1433/AutomationSuite_Airflow?driver=ODBC+Driver+17+for+SQL+Server&TrustServerCertificate=YES&Encrypt=YES"
"sql_connection_str": "Server=tcp:uipath-integration2.database.windows.net,1433;Initial Catalog=AutomationSuite_Airflow;Persist Security Info=False;User Id=userid;Password='password';MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=True;Connection Timeout=30;Max Pool Size=100;",
},
"processmining": {
"enabled": true,
"warehouse": {
"sql_connection_str": "Server=tcp:uipath-integration1.database.windows.net,1433;Initial Catalog=AutomationSuite_ProcessMining_Warehouse;Persist Security Info=False;User Id=userid;Password='password';MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=True;Connection Timeout=30;Max Pool Size=100;",
"sqlalchemy_pyodbc_sql_connection_str": "mssql+pyodbc://userid:password@uipath-integration1.database.windows.net:1433/AutomationSuite_ProcessMining_Warehouse?driver=ODBC+Driver+17+for+SQL+Server&TrustServerCertificate=YES&Encrypt=YES",
"master_sql_connection_str": "Server=tcp:uipath-integration1.database.windows.net,1433;Initial Catalog=master;Persist Security Info=False;User Id=userid;Password='password';MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=True;Connection Timeout=30;Max Pool Size=100;"
},
"sqlalchemy_pyodbc_sql_connection_str": "mssql+pyodbc://userid:password@uipath-integration2.database.windows.net:1433/AutomationSuite_Airflow?driver=ODBC+Driver+17+for+SQL+Server&TrustServerCertificate=YES&Encrypt=YES"
"sql_connection_str": "Server=tcp:uipath-integration2.database.windows.net,1433;Initial Catalog=AutomationSuite_Airflow;Persist Security Info=False;User Id=userid;Password='password';MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=True;Connection Timeout=30;Max Pool Size=100;",
},
Exemple de chaîne de connexion Process Mining
- Scénario : utilisation de
app_security_modepersonnalisés.
"processmining": {
"enabled": true,
"app_security_mode": "system_managed",
"warehouse": {
"sql_connection_str": "Server=tcp:assql2019.autosuitead.local,1433;Initial Catalog=AutomationSuite_ProcessMining_Warehouse;Persist Security Info=False;Integrated Security=true;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=True;Connection Timeout=30;Max Pool Size=100;",
"sqlalchemy_pyodbc_sql_connection_str": "mssql+pyodbc://:@assql2019.autosuitead.local:1433/AutomationSuite_ProcessMining_Warehouse?driver=ODBC+Driver+17+for+SQL+Server&TrustServerCertificate=YES&Encrypt=YES&Trusted_Connection=yes",
"master_sql_connection_str": "Server=tcp:assql2019.autosuitead.local,1433;Initial Catalog=master;Persist Security Info=False;Integrated Security=true;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=True;Connection Timeout=30;Max Pool Size=100;"
},
"sqlalchemy_pyodbc_sql_connection_str": "mssql+pyodbc://:@assql2019.autosuitead.local:1433/AutomationSuite_Airflow?driver=ODBC+Driver+17+for+SQL+Server&TrustServerCertificate=YES&Encrypt=YES&Trusted_Connection=YES"
},
"processmining": {
"enabled": true,
"app_security_mode": "system_managed",
"warehouse": {
"sql_connection_str": "Server=tcp:assql2019.autosuitead.local,1433;Initial Catalog=AutomationSuite_ProcessMining_Warehouse;Persist Security Info=False;Integrated Security=true;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=True;Connection Timeout=30;Max Pool Size=100;",
"sqlalchemy_pyodbc_sql_connection_str": "mssql+pyodbc://:@assql2019.autosuitead.local:1433/AutomationSuite_ProcessMining_Warehouse?driver=ODBC+Driver+17+for+SQL+Server&TrustServerCertificate=YES&Encrypt=YES&Trusted_Connection=yes",
"master_sql_connection_str": "Server=tcp:assql2019.autosuitead.local,1433;Initial Catalog=master;Persist Security Info=False;Integrated Security=true;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=True;Connection Timeout=30;Max Pool Size=100;"
},
"sqlalchemy_pyodbc_sql_connection_str": "mssql+pyodbc://:@assql2019.autosuitead.local:1433/AutomationSuite_Airflow?driver=ODBC+Driver+17+for+SQL+Server&TrustServerCertificate=YES&Encrypt=YES&Trusted_Connection=YES"
},
Configuration du magasin d'objets externe
Configuration générale
Automation Suite permet de faire appel à votre propre fournisseur de stockage externe. Vous pouvez choisir parmi les fournisseurs de stockage suivants :
- Azure
- AWS
- Compatible S3
Vous pouvez configurer le stockage d'objets externe de l'une des manières suivantes :
- lors de l'installation, à l'aide du programme d'installation interactif ;
- post-installation, à l'aide du fichier
cluster_config.json.
-
Pour qu'Automation Suite fonctionne correctement lors de l'utilisation d'URL pré-signées, vous devez vous assurer que votre magasin d'objets externe est accessible depuis le cluster Automation Suite, les navigateurs et toutes vos machines, y compris les stations de travail et les machines robots.
-
Le chiffrement côté serveur avec service de gestion des clés (SSE-KMS) peut uniquement être activé pour les compartiments Automation Suite déployés dans n’importe quelle région créée après le 30 janvier 2014.
La fonctionnalité SSE-KMS nécessite des API Pure SignV4. Les régions créées avant le 30 janvier 2014 n'utilisent pas d'API Pure SignV4 en raison de la rétrocompatibilité avec SignV2. Par conséquent, SSE-KMS fonctionne uniquement dans les régions qui utilisent SignV4 pour communiquer. Pour connaître le calendrier d'enregistrement des différentes régions, consultez la documentation AWS.
La table suivante répertorie les paramètres cluster_config.json que vous pouvez utiliser pour configurer chaque fournisseur de stockage d'objets externe :
| Paramètre | Azure | AWS | Compatible S3 | Description |
|---|---|---|---|---|
external_object_storage.enabled | ✅ | ✅ | ✅ | Indiquez si vous souhaitez apporter votre propre magasin d'objets. Valeurs possibles : true et false. |
external_object_storage.create_bucket | ✅ | ✅ | ✅ | Indiquez si vous souhaitez enregistrer le compartiment. Valeurs possibles : true et false. |
external_object_storage.storage_type | ✅ | ✅ | ✅ | Indiquez le fournisseur de stockage que vous souhaitez configurer. La valeur est sensible à la casse. Valeurs possibles : azure et s3.De nombreux magasins d'objets S3 nécessitent que CORS soit défini sur l'ensemble du trafic provenant du cluster Automation Suite. Vous devez configurer la stratégie CORS au niveau du magasin d'objets pour autoriser le nom de domaine complet du cluster. |
external_object_storage.fqdn | ❌ | ✅ | ✅ | Indiquez le nom de domaine complet du serveur S3. Obligatoire dans le cas de l'instance AWS et d’un profil sans instance. |
external_object_storage.port | ❌ | ✅ | ✅ | Indiquez le port S3. Obligatoire dans le cas de l'instance AWS et d’un profil sans instance. |
external_object_storage.region | ❌ | ✅ | ✅ | Indiquez la région AWS où les compartiments sont hébergés. Obligatoire dans le cas de l'instance AWS et d’un profil sans instance. |
external_object_storage.access_key | ❌ | ✅ | ✅ | Spécifiez la clé d'accès du compte S3. Uniquement requis dans le cas du profil AWS sans instance. |
external_object_storage.secret_key | ❌ | ✅ | ✅ | Spécifiez la clé secrète du compte S3. Uniquement requis dans le cas du profil AWS sans instance. |
external_object_storage.use_instance_profile | ❌ | ✅ | ✅ | Spécifiez si vous souhaitez utiliser un profil d’instance. Un profil d’instance AWS Identity and Access Management (IAM) accorde un accès sécurisé aux ressources AWS pour les applications ou les services exécutés sur des instances Amazon Elastic Compute Cloud (EC2). Si vous optez pour AWS S3, un profil d’instance permet à une instance EC2 d’interagir avec des compartiments S3 sans avoir besoin que les informations d’identification AWS explicites (telles que les clés d’accès) soient stockées sur l’instance. |
external_object_storage.use_managed_identity | ✅ | ❌ | ❌ | Utilisez l'identité managée avec votre compte de stockage Azure. Valeurs possibles : true et false. |
external_object_storage.bucket_name_prefix 1 | ❌ | ✅ | ✅ | Indiquez le préfixe des noms de compartiment. Facultatif dans le cas du profil AWS sans instance. |
external_object_storage.bucket_name_suffix 2 | ❌ | ✅ | ✅ | Indiquez le suffixe des noms de compartiment. Facultatif dans le cas du profil AWS sans instance. |
external_object_storage.account_key | ✅ | ❌ | ❌ | Spécifiez la clé de compte Azure. Uniquement requis lors de l’utilisation d’une identité non managée. |
external_object_storage.account_name | ✅ | ❌ | ❌ | Spécifiez le nom du compte Azure. |
external_object_storage.azure_fqdn_suffix | ✅ | ❌ | ❌ | Spécifiez le suffixe du nom de domaine complet Azure. Paramètre facultatif. |
external_object_storage.client_id | ✅ | ❌ | ❌ | Indiquez votre ID de client Azure. Uniquement requis lors de l’utilisation de l’identité gérée. |
1, 2 When configuring the external object storage, you must follow the naming rules and conventions from your provider for both bucket_name_prefix and bucket_name_suffix. In addition to that, the suffix and prefix must have a combined length of no more than 25 characters, and you must not end the prefix or start the suffix with a hyphen (-) as we already add the character for you automatically.
Configuration spécifique au produit
You can use the parameters described in the General configuration section to update the general Automation Suite configuration. This means that all installed products would share the same configuration. If you want to configure one or more products differently, you can override the general configuration. You just need to specify the product(s) you want to set up external object storage for differently, and use the same parameters to define your configuration. Note that all the other installed products would continue to inherit the general configuration.
L'exemple suivant montre comment remplacer la configuration générale d'Orchestrator :
"external_object_storage": {
"enabled": false, // <true/false>
"create_bucket": true, // <true/false>
"storage_type": "s3", // <s3,azure,aws>
"fqdn": "", // <needed in the case of aws instance and non-instance profile>
"port": 443, // <needed in the case of aws instance and non-instance profile>
"region": "",
"access_key": "", // <needed in case of aws non instance profile>
"secret_key": "", // <needed in case of aws non instance profile>
"use_managed_identity": false, // <true/false>
"bucket_name_prefix": "",
"bucket_name_suffix": "",
"account_key": "", // <needed only when using non managed identity>
"account_name": "",
"azure_fqdn_suffix": "core.windows.net",
"client_id": "" // <optional field in case of managed identity>
},
"orchestrator": {
"external_object_storage": {
"enabled": false, // <true/false>
"create_bucket": true, // <true/false>
"storage_type": "s3", // <s3,azure>
"fqdn": "", // <needed in the case of aws instance and non-instance profile>
"port": 443, // <needed in the case of aws instance and non-instance profile>
"region": "",
"access_key": "", // <needed in case of aws non instance profile>
"secret_key": "", // <needed in case of aws non instance profile>
"use_managed_identity": false, // <true/false>
"bucket_name_prefix": "",
"bucket_name_suffix": "",
"account_key": "", // <needed only when using non managed identity>
"account_name": "",
"azure_fqdn_suffix": "core.windows.net",
"client_id": "" // <optional field in case of managed identity>
}
}
"external_object_storage": {
"enabled": false, // <true/false>
"create_bucket": true, // <true/false>
"storage_type": "s3", // <s3,azure,aws>
"fqdn": "", // <needed in the case of aws instance and non-instance profile>
"port": 443, // <needed in the case of aws instance and non-instance profile>
"region": "",
"access_key": "", // <needed in case of aws non instance profile>
"secret_key": "", // <needed in case of aws non instance profile>
"use_managed_identity": false, // <true/false>
"bucket_name_prefix": "",
"bucket_name_suffix": "",
"account_key": "", // <needed only when using non managed identity>
"account_name": "",
"azure_fqdn_suffix": "core.windows.net",
"client_id": "" // <optional field in case of managed identity>
},
"orchestrator": {
"external_object_storage": {
"enabled": false, // <true/false>
"create_bucket": true, // <true/false>
"storage_type": "s3", // <s3,azure>
"fqdn": "", // <needed in the case of aws instance and non-instance profile>
"port": 443, // <needed in the case of aws instance and non-instance profile>
"region": "",
"access_key": "", // <needed in case of aws non instance profile>
"secret_key": "", // <needed in case of aws non instance profile>
"use_managed_identity": false, // <true/false>
"bucket_name_prefix": "",
"bucket_name_suffix": "",
"account_key": "", // <needed only when using non managed identity>
"account_name": "",
"azure_fqdn_suffix": "core.windows.net",
"client_id": "" // <optional field in case of managed identity>
}
}
Rotation des identifiants de stockage d'objets blob pour Process Mining
To rotate the blob storage credentials for Process Mining in Automation Suite the stored secrets must be updated with the new credentials. See Rotating blob storage credentials.
Disaster Recovery : configuration active/passive
- Certains produits Automation Suite ne sont pas pris en charge dans Disaster Recovery - Actif/Passif. Vous pouvez installer ces produits lors de l'installation du cluster principal uniquement.
- Une fois que vous avez fourni au programme d'installation tous les paramètres liés à votre configuration, le programme d'installation vous invitera à continuer ou à quitter. Vous devez quitter le programme d'installation pour modifier le
cluster_config.jsongénéré avec les paramètres multi-sites avancés.
Vous devez installer les deux clusters Automation Suite séparément.
Le tableau suivant répertorie les paramètres cluster_config.json que vous devez utiliser pour installer les clusters principal et secondaire :
| Paramètre | Description |
|---|---|
fabric.redis.ha | Indique que le module HAA est activé. Cela est nécessaire pour autoriser Redis en mode haute disponibilité. Obligatoire et doit être défini sur true. |
fabric.redis.license | Cela indique la licence Redis (HAA). Il s'agit d'une valeur obligatoire et doit être une chaîne valide encodée en base64. |
cluster_fqdn | Indique le nom de domaine complet de l'équilibreur de charge du cluster. Il s'agit d'une valeur obligatoire. |
multisite.enabled | Indique qu'Automation Suite doit être configurée pour fonctionner sur plusieurs sites. Doit être défini sur true. |
multisite.primary | Indique que ce cluster est un cluster principal et qu'il doit être défini sur true. Sa valeur par défaut est false pour désigner le cluster secondaire. |
multisite.other_kube_config | Il indique le fichier kubeconfig encodé en base64 d'un autre cluster. Lors de l'installation du cluster Automation Suite principal, cette valeur n'est pas disponible et peut être laissée telle quelle. Cependant, vous devez fournir la valeur lors de la reconstruction ultérieure d'Automation Suite principale au cours de la récupération. |
fixed_rke_address | Indique l'adresse où toutes les demandes de jonction de nœud doivent être effectuées. C'est généralement la même que la valeur cluster_fqdn (le FQDN de l'équilibreur de charge) |
{
"fabric": {
"redis": {
"ha": true,
"license": "xyz" //base64 encoded redis license
}
},
"cluster_fqdn": "automationsuite-primary.mycompany.com",
"multisite": {
"enabled": true,
"primary": true,
"other_kube_config": xxx, //another cluster kubeconfig
},
"fixed_rke_address": "automationsuite-primary.mycompany.com"
}
{
"fabric": {
"redis": {
"ha": true,
"license": "xyz" //base64 encoded redis license
}
},
"cluster_fqdn": "automationsuite-primary.mycompany.com",
"multisite": {
"enabled": true,
"primary": true,
"other_kube_config": xxx, //another cluster kubeconfig
},
"fixed_rke_address": "automationsuite-primary.mycompany.com"
}
Configuration du registre Docker externe
Pour configurer votre registre Docker externe, mettez à jour les paramètres suivants dans le fichier cluster_config.json :
| Paramètre | Description |
|---|---|
registries | Spécifiez les registres Docker externes que vous souhaitez utiliser. |
url | URL du registre. |
username | Le nom d'utilisateur du registre pour se connecter. |
password | Le mot de passe du registre pour se connecter. |
pull_secret_value | La clé secrète d'extraction du registre. Starting with Automation Suite 2023.4.12, this field is optional. |
You can use different methods to generate the encoded version of the pull_secret_value, including the one using Docker. For details, How to generate the encoded pull_secret_value for external registries.
Exemple de configuration :
{
"registries": {
"docker": {
"url": "registry.domain.io",
"username": "username",
"password": "password",
"pull_secret_value": "pull-secret-value"
},
"helm": {
"url": "registry.domain.io",
"username": "username",
"password": "password"
}
},
}
{
"registries": {
"docker": {
"url": "registry.domain.io",
"username": "username",
"password": "password",
"pull_secret_value": "pull-secret-value"
},
"helm": {
"url": "registry.domain.io",
"username": "username",
"password": "password"
}
},
}
Configuration spécifique à Orchestrator
Si vous effectuez une mise à niveau d'Automation Suite 2022.10 vers Automation Suite 2023.4 ou une version ultérieure, et qu'Orchestrator est activé sur l'ancienne et la nouvelle version, vous devez définir l'indicateur orchestrator.block_classic_executions sur true dans le fichier cluster_config.json. L'utilisation de l'indicateur montre que vous êtes d'accord avec le blocage des exécutions de dossiers classiques. La non-utilisation de l'indicateur entraîne l'échec de l'opération de mise à niveau. Ce paramètre n'est pas requis dans les nouvelles installations.
Orchestrator peut enregistrer les journaux des évènements du Robot sur un serveur Elasticsearch. Vous pouvez configurer cette fonctionnalité dans la section orchestrator.orchestrator_robot_logs_elastic. Si ce paramètre n'est pas configuré, les journaux des évènements du Robot seront enregistrés dans la base de données d'Orchestrator.
Le tableau suivant répertorie les paramètres orchestrator.orchestrator_robot_logs_elastic :
| Paramètre | Description |
|---|---|
orchestrator_robot_logs_elastic | Configuration d'Elasticsearch. |
elastic_uri | L'adresse de l'instance Elasticsearch devant être utilisée. Elle doit être fournie sous la forme d'un URI. Si celle-ci est fournie, alors le nom d'utilisateur et le mot de passe sont également requis. |
elastic_auth_username | Le nom d'utilisateur Elasticsearch, utilisé pour l'authentification. |
elastic_auth_password | Le mot de passe Elasticsearch, utilisé pour l'authentification. |
Exemple
"orchestrator": {
"enabled": true,
"block_classic_executions": true,
"orchestrator_robot_logs_elastic": {
"elastic_uri": "https://elastic.example.com:9200",
"elastic_auth_username": "elastic-user",
"elastic_auth_password": "elastic-password"
}
}
"orchestrator": {
"enabled": true,
"block_classic_executions": true,
"orchestrator_robot_logs_elastic": {
"elastic_uri": "https://elastic.example.com:9200",
"elastic_auth_username": "elastic-user",
"elastic_auth_password": "elastic-password"
}
}
Configuration spécifique à Insights
Si vous activez Insights, les utilisateurs peuvent inclure la configuration du serveur SMTP qui sera utilisée pour envoyer des e-mails/e-mails d'alerte programmés. S'ils ne sont pas fournis, les e-mails programmés et les e-mails d'alerte ne fonctionneront pas.
Vous pouvez utiliser l'outil de ligne de commande uipathctl pour appliquer les modifications. Pour plus d'informations, consultez le guide de référence uipathctl.
Les détails des champs insights.smtp_configuration :
| Paramètre | Description |
|---|---|
tls_version | Les valeurs valides sont TLSv1_2, TLSv1_1, SSLv23. Omettez complètement la clé si vous n'utilisez pas TLS. |
from_email | Adresse à partir de laquelle les e-mails d'alerte/programmés seront envoyés. |
host | Nom d'hôte du serveur SMTP. |
port | Le port du serveur SMTP. |
username | Nom d’utilisateur pour l’authentification du serveur SMTP. |
password | Mot de passe pour l’authentification du serveur SMTP. |
enable_realtime_monitoring | Indicateur permettant d'activer la surveillance en temps réel d'Insights. Les valeurs valides sont true, false. La valeur par défaut est false. |
Exemple
"insights": {
"enabled": true,
"enable_realtime_monitoring": true,
"smtp_configuration": {
"tls_version": "TLSv1_2",
"from_email": "test@test.com",
"host": "smtp.sendgrid.com",
"port": 587,
"username": "login",
"password": "password123"
}
}
"insights": {
"enabled": true,
"enable_realtime_monitoring": true,
"smtp_configuration": {
"tls_version": "TLSv1_2",
"from_email": "test@test.com",
"host": "smtp.sendgrid.com",
"port": 587,
"username": "login",
"password": "password123"
}
}
Configuration spécifique à Process Mining
Si vous activez Process Mining, nous recommandons aux utilisateurs d'indiquer un serveur SQL SECONDAIRE pour agir comme un entrepôt de données distinct du serveur SQL Automation Suite principal.L'entrepôt de données du serveur SQL sera soumis à une charge importante et peut être configuré dans la section processmining :
| Paramètre | Description |
|---|---|
sql_connection_str | Chaîne de connexion au format DotNet avec la base de données définie comme espace réservé : Initial Catalog=DB_NAME_PLACEHOLDER . |
sqlalchemy_pyodbc_sql_connection_str | Chaîne de connexion au format Sqlalchemy PYODBC pour l'emplacement des métadonnées personnalisées : sqlServer:1433/DB_NAME_PLACEHOLDER.Exemple : mssql+pyodbc://testadmin%40myhost:mypassword@myhost:1433/AutomationSuite_Airflow?driver=ODBC+Driver+17+for+SQL+Server&TrustServerCertificate=YES&Encrypt=YESOù Utilisateur : testadmin%40myhostSi le nom d'utilisateur contient « @ », son URL doit être codée sur %40. Exemple : (configuration de SQL Server avec l’authentification Kerberos) mssql+pyodbc://:@assql2019.autosuitead.local:1433/AutomationSuite_ProcessMining_Warehouse?driver=ODBC+Driver+17+for+SQL+Server&TrustServerCertificate=YES&Encrypt=YES&Trusted_Connection=yes |
warehouse.sql_connection_str | Chaîne de connexion SQL au format DotNet au serveur SQL de l'entrepôt de données processmining avec un espace réservé pour le nom de base de données :Initial Catalog=DB_NAME_PLACEHOLDER. |
warehouse.sqlalchemy_pyodbc_sql_connection_str | Chaîne de connexion SQL au format Sqlalchemy PYODBC à l'entrepôt de données processmining SQL Server avec un espace réservé pour le nom de base de données :sqlServer:1433/DB_NAME_PLACEHOLDER. |
warehouse.master_sql_connection_str | Si le programme d'installation crée des bases de données via le paramètre sql.create_db: true , une chaîne de connexion SQL maître au format DotNet doit être fournie pour le serveur SQL de l'entrepôt de données processmining. La base de données dans la chaîne de connexion doit être définie sur master . |
Exemple de chaîne de connexion Process Mining
"processmining": {
"enabled": true,
"app_security_mode": "system_managed",
"sql_connection_str": "Server=tcp:shared_sqlserver_fqdn,1433;Initial Catalog=AutomationSuite_ProcessMining_Metadata;Persist Security Info=False;User Id=username;Password='password';MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=True;Connection Timeout=30;Max Pool Size=100;",
"sqlalchemy_pyodbc_sql_connection_str": "mssql+pyodbc://username:password@shared_sqlserver_fqdn:1433/AutomationSuite_Airflow?driver=ODBC+Driver+17+for+SQL+Server&TrustServerCertificate=YES&Encrypt=YES",
"warehouse": {
"sql_connection_str": "Server=tcp:dedicated_sqlserver_fqdn,1433;Initial Catalog=AutomationSuite_ProcessMining_Warehouse;Persist Security Info=False;User Id=username;Password='password';MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=True;Connection Timeout=30;Max Pool Size=100;",
"sqlalchemy_pyodbc_sql_connection_str": "mssql+pyodbc://useername:password@dedicated_sqlserver_fqdn:1433/AutomationSuite_ProcessMining_Warehouse?driver=ODBC+Driver+17+for+SQL+Server&TrustServerCertificate=YES&Encrypt=YES",
"master_sql_connection_str": "Server=tcp:dedicated_sqlserver_fqdn,1433;Initial Catalog=master;Persist Security Info=False;User Id=username;Password='password';MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=True;Connection Timeout=30;Max Pool Size=100;"
},
"blob_storage_account_use_presigned_uri": true
},
"processmining": {
"enabled": true,
"app_security_mode": "system_managed",
"sql_connection_str": "Server=tcp:shared_sqlserver_fqdn,1433;Initial Catalog=AutomationSuite_ProcessMining_Metadata;Persist Security Info=False;User Id=username;Password='password';MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=True;Connection Timeout=30;Max Pool Size=100;",
"sqlalchemy_pyodbc_sql_connection_str": "mssql+pyodbc://username:password@shared_sqlserver_fqdn:1433/AutomationSuite_Airflow?driver=ODBC+Driver+17+for+SQL+Server&TrustServerCertificate=YES&Encrypt=YES",
"warehouse": {
"sql_connection_str": "Server=tcp:dedicated_sqlserver_fqdn,1433;Initial Catalog=AutomationSuite_ProcessMining_Warehouse;Persist Security Info=False;User Id=username;Password='password';MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=True;Connection Timeout=30;Max Pool Size=100;",
"sqlalchemy_pyodbc_sql_connection_str": "mssql+pyodbc://useername:password@dedicated_sqlserver_fqdn:1433/AutomationSuite_ProcessMining_Warehouse?driver=ODBC+Driver+17+for+SQL+Server&TrustServerCertificate=YES&Encrypt=YES",
"master_sql_connection_str": "Server=tcp:dedicated_sqlserver_fqdn,1433;Initial Catalog=master;Persist Security Info=False;User Id=username;Password='password';MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=True;Connection Timeout=30;Max Pool Size=100;"
},
"blob_storage_account_use_presigned_uri": true
},
Lors de la configuration de Microsoft SQL Server, veillez à ce que le fuseau horaire est défini sur UTC dans la machine SQL Server où la base de données Airflow est installée.
Vous devez utiliser le port de serveur par défaut 1433 pour les connexions à la base de données Airflow.
Les ports de serveur SQL non standard ne sont pas pris en charge.
Lors de la configuration des chaînes de connexion pour le serveur SQL de l'entrepôt de données processmining, l'instance nommée du serveur SQL doit être omise.
Les instances nommées de SQL Server ne peuvent pas fonctionner sur le même port TCP. Par conséquent, le numéro de port seul est suffisant pour faire la distinction entre les instances.
Par exemple, utilisez tcp:server,1445 au lieu de tcp:server\namedinstance,1445.
Notez que les noms du modèle de chaîne de connexion PYODBC sql_connection_string_template_sqlalchemy_pyodbc et de la chaîne de connexion PYODBC sqlalchemy_pyodbc_sql_connection_str utilisés lorsque vous apportez votre propre base de données sont différents. De plus, les noms de chaîne de connexion sont différents pour le modèle SQL sql_connection_string_template et sql_connection_str utilisé lorsque vous apportez votre propre base de données.
Si vous apportez votre propre base de données et que vous l'avez configurée à l'aide des chaînes de connexion et sql_connection_str sqlalchemy_pyodbc_sql_connection_str dans la section processmining du fichier cluster_config.json , les chaînes de connexion modèles sql_connection_string_template et sql_connection_string_template_sqlalchemy_pyodbc sont ignorées si spécifiées.
Configuration spécifique à Automation Suite Robots
Les Robots Automation Suite peuvent utiliser la mise en cache des packages pour optimiser les exécutions de vos processus et leur permettre de s'exécuter plus rapidement. Les packages NuGet sont récupérés à partir du système de fichiers au lieu d'être téléchargés à partir d'Internet/du réseau. Cela nécessite un espace supplémentaire d'au moins 10 Go et doit être alloué à un dossier sur le système de fichiers de la machine hôte des nœuds dédiés.
Pour activer la mise en cache des packages, vous devez mettre à jour les paramètres cluster_config.json suivants :
| Paramètre | Valeur par défaut | Description |
|---|---|---|
packagecaching | true | Lorsqu'il est défini sur true, les robots utilisent un cache local pour la résolution des packages. |
packagecachefolder | /uipath_asrobots_package_cache | L'emplacement du disque sur le nœud de l'agent sans serveur où les packages sont stockés. |
Configuration spécifique à AI Center
Cette section s'applique uniquement aux points de terminaison S3 (non nécessaires pour le stockage Azure).
Pour que AI Center fonctionne correctement, vous devez configurer les paramètres aicenter.external_object_storage.port et aicenter.external_object_storage.fqdn dans le fichier cluster_config.json .
Vous devez configurer les paramètres dans la section aicenter du fichier cluster_config.json même si vous avez configuré la section external_object_storage du fichier.
L’exemple suivant montre une configuration cluster_config.json valide pour AI Center :
"aicenter": {
"external_object_storage" {
"port": 443,
"fqdn": "s3.us-west-2.amazonaws.com"
}
},
"external_object_storage": {
"enabled": true,
"create_bucket": false,
"storage_type": "s3",
"region": "us-west-2",
"use_instance_profile": true
}
...
"aicenter": {
"external_object_storage" {
"port": 443,
"fqdn": "s3.us-west-2.amazonaws.com"
}
},
"external_object_storage": {
"enabled": true,
"create_bucket": false,
"storage_type": "s3",
"region": "us-west-2",
"use_instance_profile": true
}
...
Configuration de la surveillance
To provision enough resources for monitoring (see Using the monitoring stack), you should consider the number of vCPUs in the cluster and the amount of desired metric retention. See below for how to set the following monitoring resource configurations.
Le tableau suivant décrit les détails du champ de surveillance :
| Paramètre | Description |
|---|---|
prometheus_retention | En jours. Il s'agit du nombre de jours pendant lesquels les métriques seront conservées à des fins de visualisation dans Grafana et de requête manuelle via la console Prometheus. La valeur par défaut est 7. |
prometheus_storage_size | En Go. Quantité d'espace de stockage à réserver par réplica Prometheus. Une bonne règle de base consiste à définir cette valeur sur : 0.65 * vCPU cores * (prometheus_retention / 7)Exemple : Si vous définissez prometheus_retention sur 14 jours et que votre cluster comporte 80 cœurs répartis sur 5 machines, cela devient :0.65 * 80 * (14 / 7)52 * (2)104La valeur par défaut est 45 et ne doit pas être inférieure.If Prometheus starts to run out of storage space, an alert will be triggered with specific remediation instructions. See here. |
prometheus_memory_limit | En Mio. Quantité de mémoire à laquelle limiter chaque réplica Prometheus. Une bonne règle de base consiste à définir cette valeur sur : 100 * vCPU cores * (prometheus_retention / 7)Exemple : Si vous avez défini prometheus_retention sur 14 jours et que votre cluster comporte 80 cœurs répartis sur 5 machines, cela devient :100 * 80 * (14 / 7)8000 * (2)16000La valeur par défaut est 3200 pour le mode d'évaluation à nœud unique et 6000 pour le mode de production multi-nœuds compatible haute disponibilité ; elle ne doit jamais être inférieure.If Prometheus starts to run out of memory, an alert will be triggered with specific remediation instructions. See here. |
Exemple
"monitoring": {
"prometheus_retention": 14,
"prometheus_memory_limit": 16000,
"prometheus_storage_size": 104
}
"monitoring": {
"prometheus_retention": 14,
"prometheus_memory_limit": 16000,
"prometheus_storage_size": 104
}
Facultatif : configuration du serveur proxy
Assurez-vous que vous répondez aux exigences du serveur proxy avant de configurer le serveur proxy lors de l'installation.
For details, see Step 2: Adding proxy configuration to each node.
Une configuration de proxy est requise uniquement si vous effectuez une installation en ligne.
Lors de l'exécution de l'assistant d'installation interactif, vous devez le quitter et mettre à jour le cluster_config.json lors de l'étape de configuration avancée.
Vous devez ajouter les éléments suivants au fichier de configuration à l'aide de vim ou de votre éditeur préféré dans le fichier de configuration :
"proxy": {
"enabled": true,
"http_proxy": "http://<PROXY-SERVER-IP>:<PROXY-PORT>",
"https_proxy": "http://<PROXY-SERVER-IP>:<PROXY-PORT>",
"no_proxy": "alm.<fqdn>,<fixed_rke_address>:9345,<fixed_rke_address>:6443,<named server address>,<metadata server address>,<k8s address range>,<private_subnet_ip>,<sql server host>,<Comma separated list of ips that should not go through proxy server>"
}
"proxy": {
"enabled": true,
"http_proxy": "http://<PROXY-SERVER-IP>:<PROXY-PORT>",
"https_proxy": "http://<PROXY-SERVER-IP>:<PROXY-PORT>",
"no_proxy": "alm.<fqdn>,<fixed_rke_address>:9345,<fixed_rke_address>:6443,<named server address>,<metadata server address>,<k8s address range>,<private_subnet_ip>,<sql server host>,<Comma separated list of ips that should not go through proxy server>"
}
| Paramètres obligatoires | Description |
|---|---|
|
|
Utilisez |
|
|
Utilisé pour acheminer les requêtes sortantes HTTP à partir du cluster. Il doit s'agir du nom de domaine complet et du port du serveur proxy. |
|
|
Utilisé pour acheminer les requêtes sortantes HTTPS à partir du cluster. Il doit s'agir du nom de domaine complet et du port du serveur proxy. |
|
|
Liste d'hôtes, d'adresses IP ou de plages d'adresses IP au format CIDR séparée par des virgules et que vous ne souhaitez pas acheminer via le serveur proxy. Il doit s'agir d'une plage de sous-réseaux privés, d'un hôte de serveur sql, d'une adresse de serveur nommée, d'une adresse de serveur de métadonnées :
Si vous utilisez AI Center avec une installation Orchestrator externe, vous devez ajouter le domaine Orchestrator externe à la liste |
Facultatif : Activation de la résilience aux échecs locaux dans un cluster en mode production multi-nœuds compatible haute disponibilité
Pour activer la résilience aux défaillances zonales dans un cluster multi-nœuds, procédez comme suit :
-
Assurez-vous que les nœuds sont répartis uniformément sur trois zones de disponibilité. Pour un serveur bare metal ou une machine virtuelle fournis par n'importe quel fournisseur à l'exception d'AWS, Azure ou GCP, les métadonnées de zone doivent être fournies via le fichier de configuration à
/etc/default/k8s-node-labelssur chaque machine au format suivant.NODE_REGION_LABEL=<REGION_NAME> NODE_ZONE_LABEL=<ZONE_NAME> cat > /etc/default/k8s-node-labels <<EOF EXTRA_K8S_NODE_LABELS="topology.kubernetes.io/region=$NODE_REGION_LABEL,topology.kubernetes.io/zone=${NODE_ZONE_LABEL}" EOFNODE_REGION_LABEL=<REGION_NAME> NODE_ZONE_LABEL=<ZONE_NAME> cat > /etc/default/k8s-node-labels <<EOF EXTRA_K8S_NODE_LABELS="topology.kubernetes.io/region=$NODE_REGION_LABEL,topology.kubernetes.io/zone=${NODE_ZONE_LABEL}" EOF -
Mettez à jour le fichier
cluster_config.jsonlors de l'étape de configuration avancée.
Pour mettre à jour cluster_config.json à l'aide de l'assistant d'installation interactif, quittez l'étape de configuration avancée et ajoutez ce qui suit au fichier de configuration à l'aide de vim ou de votre éditeur préféré :
"zone_resilience": true
"zone_resilience": true
| Paramètres obligatoires | Description |
|---|---|
zone_resilience | Utilisez true ou false pour activer ou désactiver la résilience aux défaillances de zone. |
Si vous activez la résilience à l'échec zonal, la transmission des arguments --zone et --region est :
- recommandée si vous enregistrez vos machines sur AWS, Azure ou GCP et que les services de métadonnées sont activés lorsque le programme d'installation renseigne les détails de la zone et de la région.
- obligatoire si vous enregistrez vos machines sur AWS, Azure ou GCP et que les services de métadonnées sont désactivés, ou si vous optez pour un autre fournisseur de cloud.
Facultatif : Transmettre le fichier personnalisé resolv.conf
Le cluster Kubernetes déployé par Automation Suite utilise les serveurs de noms configurés dans /etc/resolv.conf. Kubernetes ne fonctionne pas avec les résolveurs DNS locaux (127.0.0.1 ou 127.0.0.0/8) : si vous avez des serveurs de noms de ce type configurés dans le fichier /etc/resolv.conf, vous devez transmettre une référence de fichier avec les bonnes entrées de serveur de noms accessibles de n'importe où sur la VM dans le paramètre .infra.custom_dns_resolver dans cluster_config.json.
Pour plus de détails sur une limitation connue, consultez la documentation de Kubernetes.
| Paramètres facultatifs | Description |
|---|---|
.infra.custom_dns_resolver | Chemin d'accès au fichier avec les entrées correctes du serveur de noms accessibles depuis n'importe où sur la machine virtuelle. Ces entrées du serveur de noms ne doivent pas provenir de 127.0.0.0/8. |
Facultatif : augmentation de la tolérance aux pannes
Par défaut, le profil de production multi-nœuds compatible haute disponibilité (HA) permet à un nœud de serveur de tomber en panne sans entraîner d'échec de déploiement. Vous pouvez augmenter la tolérance à la défaillance du nœud de serveur à l'aide du paramètre fault_tolerance dans le fichier cluster_config.json. Le paramètre modifie le facteur de réplication des composants de stockage en cluster tels que Ceph et Longhorn.
Prérequis matériels
Pour augmenter la tolérance aux défaillances au-delà de 1, assurez-vous que votre environnement répond aux exigences suivantes :
- Votre cluster se compose d'un minimum de
2x+1nœuds de serveur, oùxest la tolérance aux défaillances requise pour le nœud de serveur ; - Chaque nœud de serveur a un périphérique brut configuré.
Comment augmenter la tolérance aux défaillances
Pour augmenter la tolérance aux défaillances au-delà de 1, procédez comme suit :
- Définissez
fault_tolerancesur la valeur requise dans le fichiercluster_config.json. Si vous le définissez avant de commencer l'opération d'installation ou de mise à niveau, vous n'avez pas besoin de prendre d'étapes supplémentaires. - Exécutez le programme d'installation
uipathctl.shpour modifier le facteur de réplication du magasin d'objets Ceph dans le cluster. Attendez que l'opération se termine avec succès. - Exécutez le programme d'installation
install-uipath.shpour modifier le facteur de réplication des volumes Longhorn. Attendez que l'opération se termine avec succès.
- Exemple Cluster_config.json
- Configuration générale
- Configuration du certificat
- Configuration de la base de données
- Workflow de création de base de données
- Créer automatiquement les bases de données nécessaires
- Fournissez votre propre base de données
- Configuration du magasin d'objets externe
- Configuration générale
- Configuration spécifique au produit
- Rotation des identifiants de stockage d'objets blob pour Process Mining
- Disaster Recovery : configuration active/passive
- Configuration du registre Docker externe
- Configuration spécifique à Orchestrator
- Configuration spécifique à Insights
- Configuration spécifique à Process Mining
- Configuration spécifique à Automation Suite Robots
- Configuration spécifique à AI Center
- Configuration de la surveillance
- Facultatif : configuration du serveur proxy
- Facultatif : Activation de la résilience aux échecs locaux dans un cluster en mode production multi-nœuds compatible haute disponibilité
- Facultatif : Transmettre le fichier personnalisé resolv.conf
- Facultatif : augmentation de la tolérance aux pannes
- Prérequis matériels
- Comment augmenter la tolérance aux défaillances