Automation Suite
2022.4
False
Imagen de fondo del banner
Guía de instalación de Automation Suite
Última actualización 24 de abr. de 2024

Utilizar uipathctl.sh

El script uipathctl.sh proporciona una forma automatizada de actualizar un clúster a una versión más reciente, configurar una copia de seguridad, restaurar un clúster y más, ejecutándolo en un nodo. La automatización de estas tareas se realiza a través de la herramienta de automatización informática Ansible.

Requisitos

Ansible utiliza el mecanismo SSH para iniciar sesión en cualquiera de los nodos o máquinas del host y realizar tareas.

Antes de ejecutar el script uipathctl.sh , debe realizar los siguientes pasos:
  1. Identifique el nodo del host Ansible.
  2. Agrega la firma SSH de tus nodos a los hosts conocidos.
  3. Configura el método de autenticación SSH.
  4. Instala Ansible y otras herramientas de requisitos previos.

Para obtener instrucciones, consulta las siguientes secciones.

Identifying the Ansible host node

El nodo del host Ansible es la máquina en la que instala Ansible. Esta máquina debe ser un nodo de servidor para tener los permisos necesarios para realizar todas las automatizaciones en el clúster.

En las instalaciones en línea, el nodo del host de Ansible puede ser cualquiera de los nodos del servidor.

En instalaciones sin conexión, el nodo de host de Ansible debe ser el nodo del servidor principal en el que se montó el disco del paquete de UiPath en la ubicación /uipath . Si no hay ningún nodo de servidor con el disco del paquete de UiPath adjunto, simplemente puedes montar un disco adicional en cualquiera de los nodos de servidor existentes y considerarlo como el nodo de host de Ansible.

Añade la firma SSH de tus nodos a los hosts conocidos

Para agregar la firma SSH de tu nodo a los hosts conocidos, agrega la dirección IP privada de cada nodo del clúster al archivo known_hosts en el nodo de host de Ansible.
Ejecuta el siguiente comando en el nodo del host Ansible reemplazando <node-private-ip> con la dirección IP privada de cada nodo del clúster, uno a la vez.
ssh-keyscan -H <node-private-ip> >> ~/.ssh/known_hostsssh-keyscan -H <node-private-ip> >> ~/.ssh/known_hosts

Setting up SSH authentication method

Ansible admite dos mecanismos SSH:

Option 1: Key-based SSH authentication (recommended)

Paso 1: configurar la clave SSH

El mecanismo de autenticación de clave SSH utiliza una combinación de claves públicas y privadas.

Asegúrate de conceder acceso a la clave pública del nodo anfitrión de Ansible en todos los demás nodos copiándola.

Si no tienes una clave SSH, puedes generar una ejecutando el comando ssh-keygen .
Generando claves SSH
Puedes generar una nueva clave SSH utilizando el comando ssh-keygen . Para generar la nueva clave SSH, simplemente ejecute el comando ssh-keygen y siga las instrucciones.

Para generar una nueva clave SSH, siga los siguientes pasos:

  1. Genera una nueva clave SSH con el comando ssh-keygen .
  2. Escribe la ubicación de tu clave. Los valores predeterminados son:

    • Clave pública: ~/.ssh/id_rsa.pub
    • Clave privada: ~/.ssh/id_rsa
  3. Copie el acceso a la clave pública del nodo del host de Ansible en todos los demás nodos.
Conceder acceso a la clave pública en cada nodo
Para conceder acceso a la clave pública, cópiala en todos los nodos del clúster (incluido el nodo actual) mediante el comando ssh-copy-id . Si la ruta de la clave pública SSH no es ~/.ssh/id_rsa.pub, asegúrate de reemplazarla.
ssh-copy-id -i ~/.ssh/id_rsa.pub username@node-private-ipssh-copy-id -i ~/.ssh/id_rsa.pub username@node-private-ip

Paso 2: Proporcionar acceso con clave SSH a Ansible

Ansible utiliza el mecanismo SSH para iniciar sesión en las máquinas host y realizar la instalación necesaria. Por este motivo, debes proporcionar acceso con clave SSH a Ansible.

Elige entre los siguientes métodos:

Opción 1: usar ssh-agent (recomendado)
De forma predeterminada, Ansible utiliza ssh-agent para obtener acceso a los nodos. Para obtener más información sobre ssh-agent, consulta el manual ssh-agent.
Para añadir una nueva tecla a ssh-agent, ejecuta el siguiente comando:
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_rsaeval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_rsa
Opción 2: Usar una clave privada no protegida
Nota: esta opción solo se admite si su clave privada no está protegida por una frase de contraseña.
Este método implica usar la clave privada de forma interactiva, añadiendo el parámetro --ansible-private-key a tu script uipathctl.sh . El parámetro toma la ruta absoluta de la clave privada y la usa para la autenticación.

Opción 2: autenticación SSH basada en contraseña

Si optas por la autenticación SSH basada en contraseña, debes proporcionar el parámetro --ansible-ask-password al script uipathctl.sh . Este parámetro le pedirá que proporcione la contraseña para la autenticación.

Instalación de Ansible y otras herramientas de requisitos previos

Comprobando si están instalados Ansible y otras herramientas de requisitos previos

Debes asegurarte de que Ansible y las siguientes herramientas de soporte estén instaladas en el nodo de host de Ansible previamente seleccionado.

  • ansible (v2.8 +)
    Para comprobar si ansible estaba instalado, ejecuta:
    ansible --version &>/dev/null || echo "Error: Ansible is not installed"ansible --version &>/dev/null || echo "Error: Ansible is not installed"
  • ansible-playbook

    Para comprobar si ansible-playbook estaba instalado, ejecuta:
    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 : solo es necesario cuando se usa la contraseña para la autenticación junto con el parámetro --ansible-ask-password .
    Para comprobar si sshpass estaba instalado, ejecuta:
    sshpass -V &>/dev/null || echo "Error: sshpass is not installed"sshpass -V &>/dev/null || echo "Error: sshpass is not installed"
  • zip: para comprobar si zip se ha instalado, ejecuta:
    zip --version &>/dev/null || echo "Error: zip is not installed"zip --version &>/dev/null || echo "Error: zip is not installed"
    Importante: si alguno de los comandos anteriores falla, el paquete de destino no está instalado en su máquina. Para instalar todas las herramientas deseadas, siga los pasos de la siguiente sección. Si ya están instaladas todas las herramientas, puede omitir estos pasos.

Instalación de Ansible y otras herramientas de requisitos previos

Para instalar Ansible y otros paquetes relacionados, siga los siguientes pasos:

  1. Navega hasta la carpeta del instalador en el nodo del host de Ansible. El instalador generalmente se encuentra en la carpeta /opt/UiPathAutomationSuite/{version} .
  2. Ejecuta los siguientes comandos:
  • Para en línea:

    ./uipathctl.sh install-prerequisites --install-type online --accept-license-agreement./uipathctl.sh install-prerequisites --install-type online --accept-license-agreement
    • Para sin conexión:
Necesitas un archivo tar de Ansible adicional, que contiene Ansible y otros paquetes dependientes. Descarga ansible.tar.gz y guárdalo en cualquier lugar fuera de la carpeta del instalador. Para obtener instrucciones de descarga, consulte ansible.tar.gz.
Si ansible.tar.gz se encuentra en una ubicación diferente, actualice la ubicación absoluta para el parámetro --offline-prerequisites-bundle .
./uipathctl.sh install-prerequisites --install-type offline --offline-prerequisites-bundle ../ansible.tar.gz --accept-license-agreement./uipathctl.sh install-prerequisites --install-type offline --offline-prerequisites-bundle ../ansible.tar.gz --accept-license-agreement

Advanced Ansible configuration

Generando el archivo Ansible Inventory.ini

En algunos escenarios, como al configurar la copia de seguridad o la actualización, Automation Suite genera automáticamente el archivo inventory.ini para Ansible. Sin embargo, hay algunas situaciones en las que debes crear y proporcionar el archivo inventory.ini a Ansible. Por ejemplo:
  • Al restaurar el clúster a partir de los datos de la copia de seguridad. Esto se debe a que en el momento de la restauración no hay ningún clúster en buen estado del que derivar inventory.ini.
  • Cuando desea proporcionar una configuración avanzada, como el nombre de usuario y la clave SSH, que es muy específico para cada nodo.

Para obtener más detalles, consulta Cómo crear tu propio inventario.

El siguiente bloque de código muestra la plantilla de inventario que entiende el script uipathctl.sh .
[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'
[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'
[all:vars]
ansible_connection=ssh
ansible_timeout=10
ansible_user=admin

Grupo

Valor

[FIRST_SERVER]

El punto de inicio en el que ejecutas el script uipathctl.sh . Esto también se conoce como nodo de host de Ansible.

Debe proporcionar la dirección IP privada para este nodo.

[SECONDARY_SERVER]

El grupo de otros nodos de servidor del clúster.

Debe proporcionar la dirección IP privada de todos los demás nodos del servidor.

[AGENTS]

El grupo de nodos agente en el clúster.

Debes proporcionar la dirección IP privada de todos los nodos del agente.

[TASKMINING]

El grupo de nodos de Task Mining en el clúster.

Debes proporcionar la dirección IP privada de todos los nodos de Task Mining.

[GPU]

El grupo de nodos GPU en el clúster.

Debes proporcionar la dirección IP privada de todos los nodos GPU.

[all:vars]

El grupo de variables aplicadas a todos los grupos de hosts definidos previamente.

  • ansible_connection : el método de autenticación. Se admiten dos mecanismos SSH: autenticación SSH basada en clave y autenticación SSH basada en contraseña.
  • ansible_timeout : la cantidad de tiempo predeterminada durante la cual se puede establecer una conexión SSH antes de que se agote el tiempo de espera de la operación. También controla cuánto tiempo se tarda en acceder a la conexión, una vez establecida.
  • ansible_user : el nombre del usuario que inicia sesión en el servidor remoto.

Puedes proporcionar las variables por grupo o por nodo del host. Para obtener más detalles, consulta Asignar una variable a muchas máquinas: variables de grupo.

Generando el archivo de variables de Ansible

Para la orquestación de Ansible en otros nodos, debes definir algunos parámetros que Ansible utilizará para determinar la ubicación del instalador y los archivos correspondientes en otros nodos. Estos parámetros se definen en el archivo Yaml y se proporcionan a Ansible.
Si quieres modificar la configuración predeterminada, crea un archivo con el siguiente formato y proporciónalo a uipathctl.sh mediante --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

Valor

installer_path

La ruta de sf-installer.zip. Si no proporcionas este valor, uipathctl.sh comprimirá el directorio actual y lo copiará en otros nodos, como un archivo zip de instalador.

target_installer_base_path

La ruta de acceso donde se copiará el instalador en los nodos. El valor predeterminado es `/ opt / UiPathAutomationSuite / {version

install_type

El método de instalación. Los valores posibles son online y offline.

target_bundle_base_path

The path on the nodes where the offline bundles will be copied. The default location is /var/tmp/uipathctl_{version}.

target_tmp_path

La ruta de los nodos donde se extrae el paquete. La ubicación predeterminada es /opt/UiPathAutomationSuite/tmp.

cluster_config_filename

El nombre del archivo de configuración del clúster. El valor predeterminado es cluster_config.json.

cluster_config_basepath

The location where cluster_config.json will be stored temporarily on the nodes during orchestration. The default value is /var/tmp/uipathctl_{version}.

backup_config_filename

El nombre del archivo de configuración de copia de seguridad. El valor predeterminado es backup.json.

backup_config_basepath

The location where backup.json will be stored temporarily on the nodes during orchestration. The default value is /var/tmp/uipathctl_{version}.

restore_config_filename

El nombre del archivo de configuración de restauración. El valor predeterminado es restore.json.

restore_config_basepath

La ubicación donde restore.json se almacenará temporalmente en los nodos durante la orquestación. El valor predeterminado es `/ var / tmp / uipathctl _ {version

infra_bundle_filename

El nombre del paquete que contiene las capas de infraestructura. Este es el mismo que el que proporcionaste en el script uipathctl.sh .

infra_bundle_basepath

La ubicación donde sf-infra.tar.gz se almacenará temporalmente en los nodos durante la orquestación. Este es el mismo que el que proporcionaste en el script uipathctl.sh .

Was this page helpful?

Obtén la ayuda que necesitas
RPA para el aprendizaje - Cursos de automatización
Foro de la comunidad UiPath
Logotipo blanco de UiPath
Confianza y seguridad
© 2005-2024 UiPath. All rights reserved.