automation-suite
2022.10
false
Importante :
A tradução automática foi aplicada parcialmente neste conteúdo. A localização de um conteúdo recém-publicado pode levar de 1 a 2 semanas para ficar disponível.
UiPath logo, featuring letters U and I in white

Guia de instalação do Automation Suite

Última atualização 3 de dez de 2024

Uso do uipathctl.sh

O script uipathctl.sh fornece uma maneira automatizada de atualizar um cluster para uma versão mais recente, configurar um backup, restaurar um cluster e muito mais, executando-o em um nó. A automação dessas tarefas é feita por meio da ferramenta de automação de TI Ansible.

Parâmetros Uipathctl.sh

Parâmetro

Description

upgrade

Atualize o cluster.

sso-generate-connector

Gere um arquivo de amostra representando um Conector Dex para ativar o SSO.

sso-generate-rbac

Gere um exemplo de arquivo ArgoCD RBAC.

sso-generate-overlays

Gere as sobreposições Kustomize para a implantação ArgoCD e Dex com SSO. Útil na depuração.

sso-apply-overlays

Gere e aplique as sobreposições Kustomize para ArgoCD e Dex com SSO.

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

Este sinalizador é mostrado apenas se você usar o comando upgrade .
Etapas a serem executadas durante as operações de atualização. O padrão é all.
  • all – executa todas as etapas
  • bundles – copia os pacotes offline necessários para todos os nós
  • infra – executa infra-instalação no servidor e nos nós do agente
  • fabric – executa a instalação da malha em um servidor
  • services – executa a instalação de serviços em um servidor

--install-type <online|offline>

Tipo de instalação. Necessário para atualização e restauração.

--cluster-config

Caminho para seu arquivo cluster_config.json . Se não for especificado, um arquivo de configuração será gerado.

--kubeconfig

Caminho para um arquivo Kubeconfig que permite a conexão com o cluster. O padrão é /etc/rancher/rke2/rke2.yaml.

--inventory

Caminho para um inventário Ansible válido que descreve o cluster. Se não for especificado, um inventário será gerado.

--ansible-username

O nome de usuário a ser usado pelo Ansible para se conectar aos nós do cluster. O padrão é o usuário atual.

--ansible-private-key

A chave privada SSH que fornece conectividade aos nós do cluster. Se não for especificado, um conjunto de senhas será solicitado.

--ansible-ask-password

Peça ao Ansible para solicitar uma senha definida para conexões SSH e elevação.

--ansible-config

Especifique o caminho para um ansible.cfg personalizado a ser usado.

--offline-infra-bundle

Caminho para o arquivo sf-infra.tar.gz . Necessário para atualizações off-line.

--disable-cni-upgrade

Não execute atualização CNI.

--sso-connector-type

Tipo de conector para sso-generate-connector.

--sso-connector-file

Caminho para um arquivo contendo um Conector Dex para a integração SSO.

--sso-rbac-file

Caminho para um arquivo contendo um Conector Dex para a integração SSO.

Requisitos

Ansible usa o mecanismo SSH para fazer login em qualquer um dos nós de host ou máquinas para executar tarefas.

Antes de executar o script uipathctl.sh , você deve executar as seguintes etapas:
  1. Identifique o nó de host Ansible.
  2. Adicione a assinatura SSH de seus nós aos hosts conhecidos.
  3. Configure o método de autenticação SSH.
  4. Instale o Ansible e outras ferramentas de pré-requisito.

Você deve garantir que as seguintes ferramentas estejam instaladas no nó do host Ansible:

  • ansible (v2.8+)
  • ansible-playbook
  • sshpass – Necessário apenas ao usar senha para autenticação junto com o parâmetro --ansible-ask-password.
  • zip

Para obter instruções, consulte as seções a seguir.

Identifying the Ansible host node

O nó de host do Ansible é a máquina onde você instala o Ansible. Esta máquina deve ser um nó de servidor para que tenha as permissões necessárias para executar todas as automações no cluster.

Em instalações online, o nó do host Ansible pode ser qualquer um dos nós do servidor.

Em instalações off-line, o nó do host Ansible deve ser o nó do servidor principal no qual você montou o disco do pacote UiPath no local /uipath . Se não houver nenhum nó de servidor com o disco do pacote UiPath anexado, você pode simplesmente montar um disco adicional em qualquer um dos nós de servidor existentes e considerá-lo como o nó de host Ansible.

Adding the SSH signature of your nodes to the known hosts

Para adicionar a assinatura SSH de seu nó aos hosts conhecidos, adicione o endereço IP privado de cada nó no cluster ao arquivo known_hosts no nó do host Ansible.
Execute o seguinte comando no nó do host Ansible substituindo <node-private-ip> pelo endereço IP privado de cada nó no cluster, um de cada vez.
ssh-keyscan -H <node-private-ip> >> ~/.ssh/known_hostsssh-keyscan -H <node-private-ip> >> ~/.ssh/known_hosts

Setting up SSH authentication method

Ansible suporta dois mecanismos SSH:

Option 1: Key-based SSH authentication (recommended)

Passo 1: Configurando a chave SSH

O mecanismo de autenticação de chave SSH usa uma combinação de chaves privadas e públicas.

Conceda acesso à chave pública do nó do host do Ansible ao copiá-la em todos os outros nós.

Se você não tiver uma chave SSH, poderá gerar uma executando o comando ssh-keygen .
Gerando chaves SSH
Você pode gerar uma nova chave SSH usando o comando ssh-keygen . Para gerar a nova chave SSH, basta executar o comando ssh-keygen e seguir as instruções.

Para gerar uma nova chave SSH, siga os seguintes passos:

  1. Gere uma nova chave SSH usando o comando ssh-keygen .
  2. Anote a localização da sua chave. Os valores padrão são:

    • Chave pública: ~/.ssh/id_rsa.pub
    • Chave Privada: ~/.ssh/id_rsa
  3. Conceda acesso à chave pública do nó do host Ansible em todos os outros nós copiando-a.
Concedendo acesso à chave pública em cada nó
Para conceder acesso à chave pública, copie-a para todos os nós do cluster (incluindo o nó atual) usando o comando ssh-copy-id . Se o caminho da chave pública SSH não for ~/.ssh/id_rsa.pub, certifique-se de substituí-lo adequadamente.
ssh-copy-id -i ~/.ssh/id_rsa.pub username@node-private-ipssh-copy-id -i ~/.ssh/id_rsa.pub username@node-private-ip

Etapa 2: fornecer acesso de chave SSH ao Ansible

O Ansible usa o mecanismo SSH para fazer login nas máquinas host e executar a instalação necessária. Por esse motivo, você deve fornecer o acesso da chave SSH ao Ansible.

Escolha entre os seguintes métodos:

Opção 1: usando ssh-agent (recomendado)
Por padrão, o Ansible usa ssh-agent para obter acesso aos nós. Para obter mais informações sobre o ssh-agent, consulte o manual do ssh-agent.
Para adicionar uma nova chave a ssh-agent, execute o seguinte comando:
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_rsaeval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_rsa
Opção 2: usando chave privada não protegida
Nota: Esta opção é suportada apenas se sua chave privada não estiver protegida por uma senha.
Esse método envolve o uso interativo da chave privada, adicionando o parâmetro --ansible-private-key ao seu script uipathctl.sh . O parâmetro pega o caminho absoluto da chave privada e o usa para autenticação.

Opção 2: autenticação SSH baseada em senha

Se você optar pela autenticação SSH baseada em senha, deverá fornecer o parâmetro --ansible-ask-password para o script uipathctl.sh . Este parâmetro solicitará que você forneça a senha para autenticação.

Checking if Ansible and other prerequisite tools are installed

Você deve garantir que o Ansible e as outras ferramentas de suporte a seguir estejam instaladas no nó de host do Ansible selecionado anteriormente.

  • ansible (v2.8+)
    Para verificar se ansible foi instalado, execute:
    ansible --version &>/dev/null || echo "Error: Ansible is not installed"ansible --version &>/dev/null || echo "Error: Ansible is not installed"
  • ansible-playbook

    Para verificar se ansible-playbook foi instalado, execute:
    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 – Necessário apenas ao usar senha para autenticação junto com o parâmetro --ansible-ask-password .
    Para verificar se sshpass foi instalado, execute:
    sshpass -V &>/dev/null || echo "Error: sshpass is not installed"sshpass -V &>/dev/null || echo "Error: sshpass is not installed"
  • zip

    Para verificar se zip foi instalado, execute:
    zip --version &>/dev/null || echo "Error: zip is not installed"zip --version &>/dev/null || echo "Error: zip is not installed"
    Importante: Se algum dos comandos anteriores falhar, o pacote de destino não está instalado em sua máquina. Certifique-se de instalar as ferramentas necessárias.

Advanced Ansible configuration

Habilitando a saída yaml

Para obter uma saída visualmente melhor, recomendamos usar a saída yaml para Ansible executando o seguinte comando:
export ANSIBLE_STDOUT_CALLBACK=yamlexport ANSIBLE_STDOUT_CALLBACK=yaml

Esse recurso foi introduzido no Ansible 2.9 e, para determinadas instalações, deve ser ativado executando o seguinte comando:

ansible-galaxy collection install community.generalansible-galaxy collection install community.general
Se você ainda encontrar a mensagem ERROR! Invalid callback for stdout specified: yaml após instalar a coleção community.general , poderá desativar a saída yaml executando o seguinte comando:
unset ANSIBLE_STDOUT_CALLBACKunset ANSIBLE_STDOUT_CALLBACK

Gerando o arquivo Inventory.ini do Ansible

Em alguns cenários, como ao configurar o backup ou upgrade, o Automation Suite gera automaticamente o arquivo inventory.ini para o Ansible. No entanto, existem algumas situações em que você deve criar e fornecer o arquivo inventory.ini ao Ansible. Por exemplo:
  • Ao restaurar o cluster dos dados de backup. Isso ocorre porque, no momento da restauração, não há nenhum cluster íntegro para derivar inventory.ini.
  • Quando você deseja fornecer configurações avançadas, como nome de usuário e chave SSH, que são muito específicas para cada nó.

Para obter mais detalhes, consulte Como criar seu próprio inventário.

O bloco de código a seguir exibe o modelo de inventário que o script uipathctl.sh entende.
[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

Grupo

Valor

[FIRST_SERVER]

O ponto de partida onde você executa o script uipathctl.sh . Isso também é chamado de nó de host Ansible.

Você deve fornecer o endereço IP privado para este nó.

[SECONDARY_SERVER]

O grupo de outros nós de servidor no cluster.

Você deve fornecer o endereço IP privado de todos os outros nós do servidor.

[AGENTS]

O grupo de nós do agente no cluster.

Você deve fornecer o Endereço IP Privado de todos os nós do agente.

[TASKMINING]

O grupo de nós Task Mining no cluster.

Você deve fornecer o Endereço IP Privado de todos os nós de Task Mining.

[GPU]

O grupo dos nós de GPU no cluster.

Você deve fornecer Endereço IP Privado a todos os nós da GPU.

[ASROBOTS]

O grupo de nós do Automation Suite Robots no cluster.

Você deve fornecer o endereço IP privado de todos os nós do Automation Suite Robots.

[all:vars]

O grupo de variáveis aplicadas a todos os grupos de hosts definidos anteriormente.

  • ansible_connection - O método de autenticação. Dois mecanismos SSH são suportados: autenticação SSH baseada em chave e autenticação SSH baseada em senha.
  • ansible_timeout - A quantidade de tempo padrão durante a qual uma conexão SSH pode ser estabelecida antes que a operação atinja o tempo limite. Também controla quanto tempo leva para acessar a conexão, uma vez estabelecida.
  • ansible_user - O nome do usuário que está efetuando login no servidor remoto.

Você pode fornecer as variáveis por grupo ou por nó de host. Para obter detalhes, consulte Atribuição de uma variável a várias máquinas: variáveis de grupo.

Gerando o arquivo de variável Ansible

Para a orquestração do Ansible em outros nós, você deve definir alguns parâmetros que o Ansible usa para determinar a localização do instalador e os arquivos correspondentes em outros nós. Esses parâmetros são definidos no arquivo Yaml e fornecidos ao Ansible.
Se você deseja modificar a configuração padrão, crie um arquivo no formato a seguir e forneça-o para uipathctl.sh usando --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>

Variável

Valor

installer_path

O caminho de sf-installer.zip. Se você não fornecer esse valor, uipathctl.sh compactará o diretório atual e o copiará para outros nós, como um zip do instalador.

target_installer_base_path

O caminho onde o instalador será copiado nos nós. O valor padrão é `/opt/UiPathAutomationSuite/{versão

install_type

O método de instalação. Os valores possíveis são: online e 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

O caminho nos nós onde o pacote é extraído. O local padrão é /opt/UiPathAutomationSuite/tmp.

cluster_config_filename

O nome do arquivo de configuração do cluster. O valor padrão é 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

O nome do arquivo de configuração de backup. O valor padrão é 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

O nome do arquivo de configuração de restauração. O valor padrão é restore.json.

restore_config_basepath

O local onde restore.json será armazenado temporariamente nos nós durante a orquestração. O valor padrão é `/var/tmp/uipathctl_{version

infra_bundle_filename

O nome do pacote configurável que contém as camadas de infraestrutura. Este é o mesmo que você forneceu para o script uipathctl.sh .

infra_bundle_basepath

O local onde sf-infra.tar.gz será armazenado temporariamente nos nós durante a orquestração. Este é o mesmo que você forneceu para o script uipathctl.sh .

Esta página foi útil?

Obtenha a ajuda que você precisa
Aprendendo RPA - Cursos de automação
Fórum da comunidade da Uipath
Uipath Logo White
Confiança e segurança
© 2005-2024 UiPath. Todos os direitos reservados.