Automation Suite
2022.10
falso
Imagem de fundo do banner
Guia de instalação do Automation Suite
Última atualização 24 de abr 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 a 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ó do host. Para obter detalhes, consulte Atribuição de uma variável para muitas 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 .

Was this page helpful?

Obtenha a ajuda que você precisa
Aprendendo RPA - Cursos de automação
Fórum da comunidade da Uipath
Logotipo branco da Uipath
Confiança e segurança
© 2005-2024 UiPath. All rights reserved.