UiPath Documentation
automation-suite
2023.4
false
Guide d'installation d'Automation Suite sur Linux
Important :
Veuillez noter que ce contenu a été localisé en partie à l’aide de la traduction automatique. La localisation du contenu nouvellement publié peut prendre 1 à 2 semaines avant d’être disponible.

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.

uipathctl.sh parameters​

Paramètre Description

upgrade

Mettez à niveau le cluster.

sso-generate-connector

Générez un exemple de fichier représentant un connecteur Dex pour activer l'authentification unique.

sso-generate-rbac

Générez un exemple de fichier RBAC ArgoCD.

sso-generate-overlays

Générez les superpositions Kustomize pour le déploiement ArgoCD et Dex avec SSO. Utile pour le débogage.

sso-apply-overlays

Générez et appliquez les superpositions Kustomize pour ArgoCD et Dex avec SSO.

--steps <all|bundles|infra|fabric|services>

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 .

  • all : exécute toutes les étapes
  • bundles – copie les bundles hors ligne requis sur tous les nœuds
  • infra : exécute l'installation infra sur les nœuds du serveur et d'agent
  • fabric : exécute l'installation de Fabric sur un serveur
  • services : exécute l'installation des services sur un serveur

--install-type <online|offline>

Type d'installation. Requis pour la mise à niveau et la restauration.

--cluster-config

Chemin d'accès à votre fichier cluster_config.json . S'il n'est pas spécifié, un fichier de configuration est généré.

--kubeconfig

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 .

--inventory

Chemin d'accès à un inventaire Ansible valide décrivant le cluster. Si non spécifié, un inventaire est généré.

--ansible-username

Le nom d'utilisateur à utiliser par Ansible pour se connecter aux nœuds du cluster. La valeur par défaut est l'utilisateur actuel.

--ansible-private-key

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é.

--ansible-ask-password

Demandez à Ansible de demander un mot de passe pour les connexions SSH et l'élévation.

--ansible-config

Spécifiez le chemin d'accès à un ansible.cfg personnalisé à utiliser.

--offline-infra-bundle

Chemin d'accès au fichier as-infra.tar.gz . Requis pour les mises à niveau hors ligne.

--disable-cni-upgrade

N'effectuez pas la mise à niveau CNI.

--sso-connector-type

Type de connecteur pour sso-generate-connector .

--sso-connector-file

Chemin d'accès à un fichier contenant un connecteur Dex pour l'intégration SSO.

--sso-rbac-file

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 :

  1. Identifiez le nœud hôte Ansible.
  2. Ajoutez la signature SSH de vos nœuds aux hôtes connus.
  3. Configurez la méthode d'authentification SSH.
  4. 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.

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 :

É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 :

  1. Générez une nouvelle clé SSH à l'aide de la commande ssh-keygen .
  2. Notez l’emplacement de votre clé. Les valeurs par défaut sont :
    • Clé publique : ~/.ssh/id_rsa.pub
    • Clé privée : ~/.ssh/id_rsa
  3. 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

Remarque :

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 ansible 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 si ansible-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 si sshpass 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 si zip 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.

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)

[FIRST_SERVER]

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.

[SECONDARY_SERVER]

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.

[AGENTS]

Le groupe de nœuds d'agent dans le cluster.

Vous devez fournir l'adresse IP privée de tous les nœuds GPU.

[TASKMINING]

Le groupe de nœuds Task Mining dans le cluster.

Vous devez fournir l'adresse IP privée de tous les nœuds GPU.

[GPU]

Le groupe de nœuds GPU dans le cluster.

Vous devez fournir l'adresse IP privée de tous les nœuds GPU.

[ASROBOTS]

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.

[all:vars]

Groupe de variables appliqué à tous les groupes d'hôtes précédemment définis.

  • ansible_connection : la méthode d'authentification. Deux mécanismes SSH sont pris en charge : l'authentification SSH par clé et l'authentification SSH par mot de passe.

  • ansible_timeout : la durée par défaut pendant laquelle une connexion SSH peut être établie avant que l'opération n'expire. Il contrôle également le temps nécessaire pour accéder à la connexion, une fois établie.

  • ansible_user : le nom de l'utilisateur qui se connecte au serveur distant.

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 variables 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: 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>
VariableValeur (Value)
installer_pathLe 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.
target_installer_base_pathLe chemin où le programme d'installation sera copié sur les nœuds. La valeur par défaut est `/opt/UiPathAutomationSuite/{version
install_typeLa méthode d'installation. Les valeurs possibles sont : online et offline .
target_bundle_base_pathChemin d'accès aux nœuds où les bundles hors ligne seront copiés. L'emplacement par défaut est `/opt/UiPathAutomationSuite/{version
target_tmp_pathChemin d'accès aux nœuds où le bundle est extrait. L'emplacement par défaut est /opt/UiPathAutomationSuite/tmp .
cluster_config_filenameLe nom du fichier de configuration du cluster. La valeur par défaut est cluster_config.json .
cluster_config_basepathL'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_filenameLe nom du fichier de configuration de sauvegarde. La valeur par défaut est backup.json .
backup_config_basepathL'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_filenameLe nom du fichier de configuration de restauration. La valeur par défaut est restore.json .
restore_config_basepathL'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_filenameLe 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_basepathL'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 .

Cette page vous a-t-elle été utile ?

Connecter

Besoin d'aide ? Assistance

Vous souhaitez apprendre ? UiPath Academy

Vous avez des questions ? UiPath Forum

Rester à jour