- 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
- B) Migration à locataire unique
- 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 bundle 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
- 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 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
- É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
- 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
- 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'adresse IP pour utiliser le port SQL Server 1433
- Utilisation de l'outil de diagnostic d'Automation Suite
- Utilisation de l'outil Automation Suite Support Bundle
- Explorer les journaux
Utilisation de uipathctl.sh
uipathctl.sh
fournit un moyen automatisé de mettre à niveau un cluster vers une version plus récente, de configurer une sauvegarde, de restaurer un cluster, etc., en l'exécutant sur un nœud. L'automatisation de ces tâches se fait via l'outil d'automatisation informatique Ansible.
Paramètre |
Description |
---|---|
|
Mettez à niveau le cluster. |
|
Générez un exemple de fichier représentant un connecteur Dex pour activer l'authentification unique. |
|
Générez un exemple de fichier RBAC ArgoCD. |
|
Générez les superpositions Kustomize pour le déploiement ArgoCD et Dex avec SSO. Utile pour le débogage. |
|
Générez et appliquez les superpositions Kustomize pour ArgoCD et Dex avec SSO. |
|
Cet indicateur ne s'affiche que si vous utilisez la commande
upgrade .
Étapes à exécuter pendant les opérations de mise à niveau. La valeur par défaut est
all .
|
|
Type d'installation. Requis pour la mise à niveau et la restauration. |
|
Chemin d'accès à votre fichier
cluster_config.json . S'il n'est pas spécifié, un fichier de configuration est généré.
|
|
Chemin d'accès à un fichier Kubeconfig qui permet de se connecter au cluster. La valeur par défaut est
/etc/rancher/rke2/rke2.yaml .
|
|
Chemin d'accès à un inventaire Ansible valide décrivant le cluster. Si non spécifié, un inventaire est généré. |
|
Le nom d'utilisateur à utiliser par Ansible pour se connecter aux nœuds du cluster. La valeur par défaut est l'utilisateur actuel. |
|
La clé privée SSH qui fournit la connectivité aux nœuds du cluster. S'il n'est pas spécifié, un ensemble de mots de passe est demandé. |
|
Demandez à Ansible de demander un mot de passe pour les connexions SSH et l'élévation. |
|
Spécifiez le chemin d'accès à un
ansible.cfg personnalisé à utiliser.
|
|
Chemin d'accès au fichier
as-infra.tar.gz . Requis pour les mises à niveau hors ligne.
|
|
N'effectuez pas la mise à niveau CNI. |
|
Type de connecteur pour
sso-generate-connector .
|
|
Chemin d'accès à un fichier contenant un connecteur Dex pour l'intégration SSO. |
|
Chemin d'accès à un fichier contenant un connecteur Dex pour l'intégration SSO. |
Ansible utilise le mécanisme SSH pour se connecter à l'un des nœuds hôtes ou des machines afin d'effectuer des tâches.
uipathctl.sh
, vous devez suivre les étapes suivantes :
- Identifiez le nœud hôte Ansible.
- Ajoutez la signature SSH de vos nœuds aux hôtes connus.
- Configurez la méthode d'authentification SSH.
- Installez Ansible et les autres outils prérequis.
Vous devez vous assurer que les outils suivants sont installés sur le nœud hôte Ansible :
ansible
(v2.8+)ansible-playbook
sshpass
– Obligatoire uniquement lors de l'utilisation du mot de passe pour l'authentification avec le paramètre --ansible-ask-password.zip
Pour obtenir des instructions, consultez les sections suivantes.
Le nœud hôte Ansible est la machine sur laquelle vous installez Ansible. Cette machine doit être un nœud de serveur afin qu'elle dispose des autorisations requises pour effectuer toutes les automatisations du cluster.
Dans les installations en ligne, le nœud hôte Ansible peut être l'un des nœuds du serveur.
/uipath
. S'il n'y a pas de nœud de serveur auquel le disque de bundle UiPath est connecté, vous pouvez simplement monter un disque supplémentaire sur l'un des nœuds de serveur existants et le considérer comme le nœud hôte Ansible.
known_hosts
dans le nœud hôte Ansible.
<node-private-ip>
par l'adresse IP privée de chaque nœud du cluster, un à la fois.
ssh-keyscan -H <node-private-ip> >> ~/.ssh/known_hosts
ssh-keyscan -H <node-private-ip> >> ~/.ssh/known_hosts
Ansible prend en charge deux mécanismes SSH :
- Option 1 : Authentification SSH par clé – Recommandée. Il utilise des clés privées et publiques.
- Option 2 : Authentification SSH basée sur un mot de passe
Étape 1 : configuration de la clé SSH
Le mécanisme d'authentification par clé SSH utilise une combinaison de clés privées et publiques.
Assurez-vous d'accorder l'accès à la clé publique du nœud hôte Ansible sur tous les autres nœuds en la copiant.
ssh-keygen
.
Génération de clés SSH
ssh-keygen
. Pour générer la nouvelle clé SSH, exécutez simplement la commande ssh-keygen et suivez les instructions.
Pour générer une nouvelle clé SSH, procédez comme suit :
- Générez une nouvelle clé SSH à l'aide de la commande
ssh-keygen
. -
Notez l’emplacement de votre clé. Les valeurs par défaut sont :
- Clé publique :
~/.ssh/id_rsa.pub
- Clé privée :
~/.ssh/id_rsa
- Clé publique :
- Accordez l'accès à la clé publique du nœud hôte Ansible sur tous les autres nœuds en la copiant.
Accorder l'accès à la clé publique sur chaque nœud
ssh-copy-id
. Si le chemin de la clé publique SSH n'est pas ~/.ssh/id_rsa.pub
, assurez-vous de le remplacer en conséquence.
ssh-copy-id -i ~/.ssh/id_rsa.pub username@node-private-ip
ssh-copy-id -i ~/.ssh/id_rsa.pub username@node-private-ip
Étape 2 : Fournir un accès par clé SSH à Ansible
Ansible utilise le mécanisme SSH pour se connecter aux machines hôtes et effectuer l'installation requise. Pour cette raison, vous devez fournir l'accès de clé SSH à Ansible.
Choisissez parmi les méthodes suivantes :
ssh-agent
(recommandé)
ssh-agent
pour obtenir l'accès aux nœuds. Pour plus d'informations sur ssh-agent, consultez le manuel de ssh-agent.
ssh-agent
, exécutez la commande suivante :
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_rsa
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_rsa
Option 2 : utiliser une clé privée non protégée
--ansible-private-key
à votre script uipathctl.sh
. Le paramètre prend le chemin absolu de la clé privée et l'utilise pour l'authentification.
Vous devez vous assurer qu'Ansible et les autres outils de prise en charge suivants sont installés sur le nœud hôte Ansible précédemment sélectionné.
-
ansible
(v2.8+)Pour vérifier siansible
a été installé, exécutez :ansible --version &>/dev/null || echo "Error: Ansible is not installed"
ansible --version &>/dev/null || echo "Error: Ansible is not installed" -
ansible-playbook
Pour vérifier siansible-playbook
a été installé, exécutez :ansible-playbook --version &>/dev/null || echo "Error: Ansible Playbook is not installed"
ansible-playbook --version &>/dev/null || echo "Error: Ansible Playbook is not installed" -
sshpass
– Obligatoire uniquement lors de l'utilisation du mot de passe pour l'authentification avec le paramètre--ansible-ask-password
.Pour vérifier sisshpass
a été installé, exécutez :sshpass -V &>/dev/null || echo "Error: sshpass is not installed"
sshpass -V &>/dev/null || echo "Error: sshpass is not installed" -
zip
Pour vérifier sizip
a été installé, exécutez :zip --version &>/dev/null || echo "Error: zip is not installed"
zip --version &>/dev/null || echo "Error: zip is not installed"Important : si l'une des commandes précédentes génère une erreur, le package ciblé n'est pas installé sur votre machine. Assurez-vous d’installer les outils requis.
yaml
pour Ansible en exécutant la commande suivante :
export ANSIBLE_STDOUT_CALLBACK=yaml
export ANSIBLE_STDOUT_CALLBACK=yaml
Cette fonctionnalité a été introduite dans Ansible 2.9, et pour certaines installations, elle doit être activée en exécutant la commande suivante :
ansible-galaxy collection install community.general
ansible-galaxy collection install community.general
ERROR! Invalid callback for stdout specified: yaml
après l'installation de la collection community.general
, vous pouvez désactiver la sortie yaml
en exécutant la commande suivante :
unset ANSIBLE_STDOUT_CALLBACK
unset ANSIBLE_STDOUT_CALLBACK
inventory.ini
pour Ansible. Cependant, il existe quelques situations dans lesquelles vous devez générer et fournir le fichier inventory.ini
à Ansible. Par exemple :
- Lors de la restauration du cluster à partir des données de sauvegarde. En effet, au moment de la restauration, il n'existe aucun cluster sain pour dériver
inventory.ini
. - Lorsque vous souhaitez fournir une configuration avancée telle que le nom d'utilisateur et la clé SSH, qui est très spécifique à chaque nœud.
Pour plus de détails, consultez Comment créer votre propre inventaire.
uipathctl.sh
comprend.
[FIRST_SERVER]
'10.0.1.1'
[SECONDARY_SERVERS]
'10.0.1.2'
'10.0.1.3'
[AGENTS]
'10.0.1.4'
'10.0.1.5'
[TASKMINING]
'10.0.1.6'
[GPU]
'10.0.1.7'
[ASROBOTS]
'10.0.1.8'
[all:vars]
ansible_connection=ssh
ansible_timeout=10
ansible_user=admin
[FIRST_SERVER]
'10.0.1.1'
[SECONDARY_SERVERS]
'10.0.1.2'
'10.0.1.3'
[AGENTS]
'10.0.1.4'
'10.0.1.5'
[TASKMINING]
'10.0.1.6'
[GPU]
'10.0.1.7'
[ASROBOTS]
'10.0.1.8'
[all:vars]
ansible_connection=ssh
ansible_timeout=10
ansible_user=admin
Groupe |
Valeur (Value) |
---|---|
|
Le point de départ où vous exécutez le script
uipathctl.sh . C’est aussi ce qu’on appelle le nœud hôte Ansible.
Vous devez fournir l'adresse IP privée de ce nœud. |
|
Le groupe d'autres nœuds de serveur dans le cluster. Vous devez fournir l'adresse IP privée de tous les autres nœuds de serveur. |
|
Le groupe de nœuds d'agent dans le cluster. Vous devez fournir l'adresse IP privée de tous les nœuds GPU. |
|
Le groupe de nœuds Task Mining dans le cluster. Vous devez fournir l'adresse IP privée de tous les nœuds GPU. |
|
Le groupe de nœuds GPU dans le cluster. Vous devez fournir l'adresse IP privée de tous les nœuds GPU. |
|
Le groupe de nœuds d'Automation Suite Robots dans le cluster. Vous devez fournir l'adresse IP privée de tous les nœuds d'Automation Suite Robots. |
|
Groupe de variables appliqué à tous les groupes d'hôtes précédemment définis.
Vous pouvez fournir les variables par groupe ou par nœud d'hôte. Pour plus de détails, consultez Affectation d'une variable à plusieurs machines : variables de groupe. |
Yaml
et fournis à Ansible.
uipathctl.sh
à l'aide de --ansible-variables-file
.
#Path where installer zip is available. By default, uipathctl.sh takes the current folder and compress it to zip before copying it to other nodes.
installer_path: /path/to/installer.zip
# Path where installer will be copied on nodes
target_installer_base_path: /opt/UiPathAutomationSuite/<version>/installer
# Install type - online or offline
install_type: online
# Path on nodes where offline bundles will be copied
target_bundle_base_path: /opt/UiPathAutomationSuite/{version}
# Path on nodes where offline bundles will be extracted
target_tmp_path: /opt/UiPathAutomationSuite/tmp
# Basepath and filname for the various config files and bundles on the local machine
cluster_config_filename: cluster_config.json
cluster_config_basepath: /var/tmp/uipathctl_{version}
backup_config_filename: backup_config.json
backup_config_basepath: /var/tmp/uipathctl_{version}
restore_config_filename: restore.json
restore_config_basepath: /var/tmp/uipathctl_{version}
infra_bundle_filename: as-infra.tar.gz
infra_bundle_basepath: /var/tmp/uipath_upgrade_<version>
#Path where installer zip is available. By default, uipathctl.sh takes the current folder and compress it to zip before copying it to other nodes.
installer_path: /path/to/installer.zip
# Path where installer will be copied on nodes
target_installer_base_path: /opt/UiPathAutomationSuite/<version>/installer
# Install type - online or offline
install_type: online
# Path on nodes where offline bundles will be copied
target_bundle_base_path: /opt/UiPathAutomationSuite/{version}
# Path on nodes where offline bundles will be extracted
target_tmp_path: /opt/UiPathAutomationSuite/tmp
# Basepath and filname for the various config files and bundles on the local machine
cluster_config_filename: cluster_config.json
cluster_config_basepath: /var/tmp/uipathctl_{version}
backup_config_filename: backup_config.json
backup_config_basepath: /var/tmp/uipathctl_{version}
restore_config_filename: restore.json
restore_config_basepath: /var/tmp/uipathctl_{version}
infra_bundle_filename: as-infra.tar.gz
infra_bundle_basepath: /var/tmp/uipath_upgrade_<version>
Variable |
Valeur (Value) |
---|---|
|
Le chemin de
as-installer.zip . Si vous ne fournissez pas cette valeur, uipathctl.sh compressera le répertoire actuel et le copiera sur d'autres nœuds, en tant que zip d'installation.
|
|
Le chemin où le programme d'installation sera copié sur les nœuds. La valeur par défaut est `/opt/UiPathAutomationSuite/{version |
|
La méthode d'installation. Les valeurs possibles sont :
online et offline .
|
|
Chemin d'accès aux nœuds où les bundles hors ligne seront copiés. L'emplacement par défaut est `/opt/UiPathAutomationSuite/{version |
|
Chemin d'accès aux nœuds où le bundle est extrait. L'emplacement par défaut est
/opt/UiPathAutomationSuite/tmp .
|
|
Le nom du fichier de configuration du cluster. La valeur par défaut est
cluster_config.json .
|
|
L'emplacement où
cluster_config.json sera stocké temporairement sur les nœuds pendant l'orchestration. La valeur par défaut est /var/tmp/uipathctl_{version} .
|
|
Le nom du fichier de configuration de sauvegarde. La valeur par défaut est
backup.json .
|
|
L'emplacement où
backup.json sera stocké temporairement sur les nœuds pendant l'orchestration. La valeur par défaut est /var/tmp/uipathctl_{version} .
|
|
Le nom du fichier de configuration de restauration. La valeur par défaut est
restore.json .
|
|
L'emplacement où
restore.json sera stocké temporairement sur les nœuds pendant l'orchestration. La valeur par défaut est /var/tmp/uipathctl_{version} .
|
|
Le nom du bundle contenant les couches d'infrastructure. C'est le même que celui que vous avez fourni au script
uipathctl.sh .
|
|
L'emplacement où
as-infra.tar.gz sera stocké temporairement sur les nœuds pendant l'orchestration. C'est le même que celui que vous avez fourni au script uipathctl.sh .
|
- uipathctl.sh parameters
- Prérequis
- Identifier le nœud hôte Ansible
- Ajout de la signature SSH de vos nœuds aux hôtes connus
- Configuration de la méthode d'authentification SSH
- Option 1 : Authentification SSH par clé (recommandée)
- Option 2 : Authentification SSH basée sur un mot de passe
- Vérifier si Ansible et les autres outils prérequis sont installés
- Configuration Ansible avancée
- Activer la sortie yaml
- Génération du fichier Ansible inventory.ini
- Génération du fichier de variables Ansible