- 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
- 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é
- 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
- Connexion de l'application Task Mining
- Ajout d'un nœud d'agent dédié pour Task Mining
- Ajout d'un nœud d'agent dédié pour les Automation Suite Robots
- Post-installation
- Administration du cluster
- 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
- 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 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
- Volume impossible à monter car il n'est pas prêt pour les charges de travail
- Impossible de lancer Automation Hub et Apps avec la configuration proxy
- 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
- Incohérence inattendue ; exécuter fsck manuellement
- Pods MongoDB en mode CrashLoopBackOff ou enregistrement PVC en attente après suppression
- Le pod MongoDB ne parvient pas à mettre à niveau la version 4.4.4-ent vers la version 5.0.7-ent
- 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
- 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
- Utilisation de l'outil de diagnostic d'Automation Suite
- Utilisation du pack d'assistance Automation Suite
- Explorer les journaux
Utilisation de uipathctl.sh
Le script 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ètres Uipathctl.sh
| 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 Étapes à exécuter pendant les opérations de mise à niveau. La valeur par défaut est
|
|
|
Type d'installation. Requis pour la mise à niveau et la restauration. |
|
|
Chemin d'accès à votre fichier |
|
|
Chemin d'accès à un fichier Kubeconfig qui permet de se connecter au cluster. La valeur par défaut est |
|
|
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 |
|
|
Chemin d'accès au fichier |
|
|
N'effectuez pas la mise à niveau CNI. |
|
|
Type de connecteur pour |
|
|
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. |
Prérequis
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.
Avant d'exécuter le script 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-playbooksshpass– 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.
Identifier le nœud hôte Ansible
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.
Dans les installations hors ligne, le nœud hôte Ansible doit être le nœud de serveur principal sur lequel vous avez monté le disque de bundle UiPath à l'emplacement /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.
Ajout de la signature SSH de vos nœuds aux hôtes connus
Pour ajouter la signature SSH de votre nœud aux hôtes connus, ajoutez l'adresse IP privée de chaque nœud du cluster au fichier known_hosts dans le nœud hôte Ansible.
Exécutez la commande suivante sur le nœud hôte Ansible en remplaçant <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
Configuration de la méthode d'authentification SSH
Ansible prend en charge deux mécanismes SSH :
- Option 1: Key-based SSH authentication – Recommended. It uses private and public keys.
- Option 2 : Authentification SSH basée sur un mot de passe
Option 1 : Authentification SSH par clé (recommandée)
É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.
Si vous ne possédez pas de clé SSH, vous pouvez en générer une en exécutant la commande ssh-keygen .
Génération de clés SSH
Vous pouvez générer une nouvelle clé SSH à l'aide de la commande 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
Pour accorder l'accès à la clé publique, copiez-la sur tous les nœuds du cluster (y compris le nœud actuel) à l'aide de la commande 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 :
Option 1 : utilisation de ssh-agent (recommandé)
By default, Ansible uses ssh-agent to obtain access to nodes. For more information about ssh-agent, see ssh-agent manual.
Pour ajouter une nouvelle clé à 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
Cette option n'est prise en charge que si votre clé privée n'est pas protégée par une phrase secrète.
Cette méthode consiste à utiliser la clé privée de manière interactive, en ajoutant le paramètre --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.
Option 2 : Authentification SSH basée sur un mot de passe
Si vous optez pour l'authentification SSH par mot de passe, vous devez fournir le paramètre --ansible-ask-password au script uipathctl.sh . Ce paramètre vous invite à fournir le mot de passe pour l'authentification.
Vérifier si Ansible et les autres outils prérequis sont installés
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 si
ansiblea é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-playbookPour vérifier si
ansible-playbooka é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 si
sshpassa été installé, exécutez :sshpass -V &>/dev/null || echo "Error: sshpass is not installed"sshpass -V &>/dev/null || echo "Error: sshpass is not installed" -
zipPour vérifier si
zipa é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.
Configuration Ansible avancée
Activer la sortie yaml
Pour obtenir une sortie visuellement meilleure, nous vous recommandons d'utiliser la sortie 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
Si vous rencontrez toujours le message 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
Génération du fichier Ansible inventory.ini
Dans certains scénarios, comme lors de la configuration de la sauvegarde ou de la mise à niveau, Automation Suite génère automatiquement le fichier 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.
For more details, see How to build your own inventory.
Le bloc de code suivant affiche le modèle d'inventaire que le script 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 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.
You can provide the variables per group or per host node. For details, see Assigning a variable to many machines: group variables. |
Génération du fichier de variable Ansible
Pour l'orchestration Ansible sur d'autres nœuds, vous devez définir certains paramètres qu'Ansible utilise pour déterminer l'emplacement du programme d'installation et des fichiers correspondants sur d'autres nœuds. Ces paramètres sont définis dans le fichier Yaml et fournis à Ansible.
Si vous souhaitez modifier la configuration par défaut, créez un fichier au format suivant et fournissez-le à 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: sf-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: sf-infra.tar.gz
infra_bundle_basepath: /var/tmp/uipath_upgrade_<version>
| Variable | Valeur (Value) |
|---|---|
installer_path | Le chemin de sf-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. |
target_installer_base_path | Le chemin où le programme d'installation sera copié sur les nœuds. La valeur par défaut est `/opt/UiPathAutomationSuite/{version |
install_type | La méthode d'installation. Les valeurs possibles sont : online et offline . |
target_bundle_base_path | Chemin d'accès aux nœuds où les bundles hors ligne seront copiés. L'emplacement par défaut est /var/tmp/uipathctl_{version} . |
target_tmp_path | Chemin d'accès aux nœuds où le bundle est extrait. L'emplacement par défaut est /opt/UiPathAutomationSuite/tmp . |
cluster_config_filename | Le nom du fichier de configuration du cluster. La valeur par défaut est cluster_config.json . |
cluster_config_basepath | 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} . |
backup_config_filename | Le nom du fichier de configuration de sauvegarde. La valeur par défaut est backup.json . |
backup_config_basepath | 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} . |
restore_config_filename | Le nom du fichier de configuration de restauration. La valeur par défaut est restore.json . |
restore_config_basepath | 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 |
infra_bundle_filename | Le nom du bundle contenant les couches d'infrastructure. C'est le même que celui que vous avez fourni au script uipathctl.sh . |
infra_bundle_basepath | L'emplacement où sf-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 . |
- Paramètres Uipathctl.sh
- 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 variable Ansible