- Visão geral
- Requisitos
- Instalação
- Q&A: Deployment templates
- Configuração das máquinas
- Configurando o objectstore externo
- Configurando um registro externo do Docker
- Configuração do balanceador de carga
- Configuração do DNS
- Como configurar o Microsoft SQL Server
- Configuração dos certificados
- Instalação online de produção pronta para alta disponibilidade de vários nós
- Instalação offline de produção pronta para alta disponibilidade de vários nós
- Disaster Recovery - Instalando o cluster secundário
- Baixando os pacotes de instalação
- Parâmetros do install-uipath.sh
- Como habilitar o High Availability Add-on do Redis para o cluster
- Arquivo de configuração do Document Understanding
- Adicionando um nó de agente dedicado com suporte a GPU
- Adição de um nó de agente dedicado ao Task Mining
- Conexão do aplicativo Task Mining
- Adicionando um nó de agente dedicado para robôs do Automation Suite
- Pós-instalação
- Administração de cluster
- Monitoramento e alertas
- Migração e atualização
- Opções de migração
- Etapa 1: mover os dados da organização do Identity, de independente para o Automation Suite
- Etapa 2: restauração do banco de dados de produtos independente
- Etapa 3: backup do banco de dados da plataforma no Automation Suite
- Etapa 4: mesclando organizações no Automation Suite
- Etapa 5: atualização das strings de conexão do produto migradas
- Etapa 6: migração do Insights independente
- Etapa 7: exclusão do tenant padrão
- Executando uma migração de único tenant
- Configuração específica do produto
- Melhores práticas e manutenção
- Solução de problemas
- Como solucionar problemas dos serviços durante a instalação
- Como desinstalar o cluster
- Como limpar os artefatos offline para melhorar o espaço em disco
- Como limpar os dados do Redis
- Como habilitar o registro em log do Istio
- Como limpar logs manualmente
- Como limpar logs antigos armazenados no bucket do sf-logs
- Como desabilitar os logs de streaming para o AI Center
- Como depurar instalações do Automation Suite com falha
- Como excluir imagens do instalador antigo após a atualização
- Como limpar automaticamente instantâneos do Longhorn
- Como desabilitar o descarregamento de soma de verificação do TX
- Como definir manualmente o nível de log do ArgoCD como Info
- Como gerar o pull_secret_value codificado para registros externos
- Como lidar com cifras fracas no TLS 1.2
- Como trabalhar com certificados
- Como coletar dados de uso de DU com objectstore (Ceph) no cluster
- Como instalar o RKE2 SELinux em ambientes air-gapped
- Como limpar backups diferenciados antigos em um servidor NFS
- Não é possível executar uma instalação offline no SO RHEL 8.4
- Erro ao baixar o pacote
- A instalação offline falha devido a um binário ausente
- Problema de certificado na instalação offline
- A primeira instalação falha durante a configuração do Longhorn
- Erro de validação da string de conexão ao SQL
- Verificação de pré-requisito para o módulo iscsid do selinux falha
- Azure disk not marked as SSD
- Falha após a atualização do certificado
- Antivírus causa problemas de instalação
- Automation Suite not working after OS upgrade
- O Automation Suite requer que backlog_wait_time seja definido como 0
- Nó da GPU afetado por indisponibilidade de recurso
- Não é possível montar o volume devido a não estar pronto para cargas de trabalho
- Falha na coleta de logs do pacote de suporte
- A atualização de nó único falha no estágio de malha
- Cluster unhealthy after automated upgrade from 2021.10
- Upgrade fails due to unhealthy Ceph
- RKE2 não é iniciado devido a um problema de espaço
- A validação de SQL falha durante a atualização
- pod snapshot-controller-crds no estado CrashLoopBackOff após a atualização
- Falha ao carregar ou baixar dados no objectstore
- PVC resize does not heal Ceph
- Falha no redimensionamento do PVC
- Falha no redimensionamento do PVC do Objectstore
- Pod do Rook Ceph ou Looker travado no estado Init
- Erro de anexo de volume StatefulSet
- Falha ao criar volumes persistentes
- Patch de reclamação de armazenamento
- Falha de backup devido ao erro TooManySnapshots
- Todas as réplicas do Longhorn estão com falha
- Configurando um intervalo de tempo limite para os portais de gerenciamento
- Atualizar as conexões de diretório subjacentes
- Autenticação não funciona após migração
- kinit: não é possível encontrar o KDC para o realm <AD Domain> ao obter credenciais iniciais
- kinit: o Keytab não contém chaves adequadas para *** ao obter credenciais iniciais
- Falha na operação GSSAPI devido a código de status inválido
- Alarme recebido para trabalho com falha do Kerberos-tgt-update
- Provedor de SSPI: servidor não encontrado no banco de dados Kerberos
- Falha de login para usuário do AD devido a conta desabilitada
- ArgoCD login failed
- Falha ao obter a imagem do sandbox
- Os pods não são exibidos na UI do ArgoCD
- Falha de teste do Redis
- O servidor RKE2 falha ao iniciar
- Segredo não encontrado no namespace da UiPath
- O ArgoCD entra em estado Em andamento após a primeira instalação
- Problemas de acesso à conta somente leitura do ArgoCD
- Pods de MongoDB em CrashLoopBackOff ou provisionamento de PVC pendente após exclusão
- Unhealthy services after cluster restore or rollback
- Pods presos em Init:0/X
- Prometheus no estado CrashloopBackoff com erro de falta de memória (OOM)
- Métricas Ceph-rook ausentes nos painéis de monitoramento
- Os pods não podem se comunicar com o FQDN em um ambiente de proxy
- Falha ao configurar alertas por e-mail após a atualização
- Nenhum problema upstream íntegro
- O Document Understanding não está no menu de navegação esquerdo do Automation Suite
- Status de Falha ao criar uma sessão de rotulagem de dados
- Status de Falha ao tentar implantar uma habilidade de ML
- Trabalho de migração falha no ArgoCD
- Reconhecimento de escrita com o Extrator de formulários inteligente não está funcionando
- Falha na implantação de habilidade de ML devido à expiração do token
- Execução de alta disponibilidade com o Process Mining
- Falha na ingestão do Process Mining ao fazer logon usando o Kerberos
- Não é possível conectar-se ao banco de dados AutomationSuite_ProcessMining_Warehouse usando uma string de conexão em formato pyodbc.
- A instalação do Airflow falha com sqlalchemy.exc.ArgumentError: não foi possível analisar o URL rfc1738 da string ''
- Como adicionar uma regra de tabela de IP para usar a porta 1433 do SQL Server
- Usando a ferramenta de diagnóstico do Automation Suite
- Usando o pacote de suporte do Automation Suite
- Exploração de logs
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.
uipathctl.sh parameters
| Parâmetro | Description |
|---|---|
|
|
Atualize o cluster. |
|
|
Gere um arquivo de amostra representando um Conector Dex para ativar o SSO. |
|
|
Gere um exemplo de arquivo ArgoCD RBAC. |
|
|
Gere as sobreposições Kustomize para a implantação ArgoCD e Dex com SSO. Útil na depuração. |
|
|
Gere e aplique as sobreposições Kustomize para ArgoCD e Dex com SSO. |
|
|
Este sinalizador é mostrado apenas se você usar o comando Etapas a serem executadas durante as operações de atualização. O padrão é
|
|
|
Tipo de instalação. Necessário para atualização e restauração. |
|
|
Caminho para seu arquivo |
|
|
Caminho para um arquivo Kubeconfig que permite a conexão com o cluster. O padrão é |
|
|
Caminho para um inventário Ansible válido que descreve o cluster. Se não for especificado, um inventário será gerado. |
|
|
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. |
|
|
A chave privada SSH que fornece conectividade aos nós do cluster. Se não for especificado, um conjunto de senhas será solicitado. |
|
|
Peça ao Ansible para solicitar uma senha definida para conexões SSH e elevação. |
|
|
Especifique o caminho para um |
|
|
Caminho para o arquivo |
|
|
Não execute atualização CNI. |
|
|
Tipo de conector para |
|
|
Caminho para um arquivo contendo um Conector Dex para a integração SSO. |
|
|
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:
- Identifique o nó de host Ansible.
- Adicione a assinatura SSH de seus nós aos hosts conhecidos.
- Configure o método de autenticação SSH.
- 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-playbooksshpass– 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_hosts
ssh-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. It uses private and public keys.
- Opção 2: autenticação SSH baseada em senha
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:
- Gere uma nova chave SSH usando o comando
ssh-keygen. - 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
- Chave pública:
- 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-ip
ssh-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)
By default, Ansible uses ssh-agent to obtain access to nodes. For more information about ssh-agent, see ssh-agent manual.
Para adicionar uma nova chave a ssh-agent, execute o seguinte comando:
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_rsa
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_rsa
Opção 2: usando chave privada não protegida
This option is supported only if your private key is not protected by a passphrase.
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
ansiblefoi instalado, execute:ansible --version &>/dev/null || echo "Error: Ansible is not installed"ansible --version &>/dev/null || echo "Error: Ansible is not installed" -
ansible-playbookPara verificar se
ansible-playbookfoi 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
sshpassfoi instalado, execute:sshpass -V &>/dev/null || echo "Error: sshpass is not installed"sshpass -V &>/dev/null || echo "Error: sshpass is not installed" -
zipPara verificar se
zipfoi instalado, execute:zip --version &>/dev/null || echo "Error: zip is not installed"zip --version &>/dev/null || echo "Error: zip is not installed"Importante:If any of the previous commands errors out, the targeted package is not installed on your machine. Make sure to install the required tools.
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=yaml
export 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.general
ansible-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_CALLBACK
unset 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ó.
For more details, see How to build your own inventory.
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 |
|---|---|
|
|
O ponto de partida onde você executa o script Você deve fornecer o endereço IP privado para este nó. |
|
|
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. |
|
|
O grupo de nós do agente no cluster. Você deve fornecer o Endereço IP Privado de todos os nós do agente. |
|
|
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. |
|
|
O grupo dos nós de GPU no cluster. Você deve fornecer Endereço IP Privado a todos os nós da GPU. |
|
|
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. |
|
|
O grupo de variáveis aplicadas a todos os grupos de hosts definidos anteriormente.
You can provide the variables per group or per host node. For details, see Assigning a variable to many machines: group variables. |
Generating the Ansible variable file
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: 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>
| Variável | Valor |
|---|---|
installer_path | O caminho de as-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 | O caminho nos nós onde os bundles off-line serão copiados. A localização padrão é `/opt/UiPathAutomationSuite/{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 | The location where restore.json will be stored temporarily on the nodes during orchestration. The default value is /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 as-infra.tar.gz será armazenado temporariamente nos nós durante a orquestração. Este é o mesmo que você forneceu para o script uipathctl.sh . |
- uipathctl.sh parameters
- Requisitos
- Identifying the Ansible host node
- Adding the SSH signature of your nodes to the known hosts
- Setting up SSH authentication method
- Option 1: Key-based SSH authentication (recommended)
- Opção 2: autenticação SSH baseada em senha
- Checking if Ansible and other prerequisite tools are installed
- Advanced Ansible configuration
- Habilitando a saída yaml
- Gerando o arquivo Inventory.ini do Ansible
- Generating the Ansible variable file