ai-center
2022.4
true
UiPath logo, featuring letters U and I in white

Guia de instalação do AI Center

Automation CloudAutomation SuiteStandalone
Última atualização 6 de jun de 2024

Sobre o arquivo de configuração

O arquivo cluster_config.json define os parâmetros, configurações e preferências aplicados aos serviços da UiPath. Você precisa atualizar esse arquivo se quiser alterar padrões e usar qualquer configuração avançada para seu cluster.
Para editar cluster_config.json, você pode usar:
  • um editor de texto do Linux, como vi ou GNU nano, diretamente na máquina Linux via SSH (por exemplo, comando: vi cluster_config.json);
  • seu editor de texto preferido e, em seguida, copie e cole o arquivo na máquina.
Para habilitar ou desabilitar um serviço pelo arquivo cluster_config.json, use true ou false para o sinalizador enabled.

Configuração geral

Parâmetros obrigatóriosDescription
fqdnO balanceador de carga (vários nós) ou nome de domínio da máquina (nó único).
fixed_rke_addressO endereço fixo usado para registro de nó de balanceamento de carga e solicitações de API do kube. Deve ser fqdn se o balanceador de carga estiver configurado como recomendado. Caso contrário, FQDN do 1º nó do servidor. Consulte Configuração do balanceador de carga.

Pode ser o IP/FQDN do primeiro servidor rke2 na sua configuração.

multinodeDefina como true se for fazer instalação de vários nós
admin_usernameO nome de usuário que você deseja definir como administrador (como: admin ) para a organização do host.
admin_passwordA senha de administrador do tenant do host a ser definida.
rke_tokenUse um GUID recém-gerado aqui. Este é um segredo pré-compartilhado, específico do cluster. É necessário para todos os nós associados ao cluster.
profileDefine o perfil da instalação. Os perfis disponíveis são:
  • default : perfil de avaliação de nó único.
  • ha : perfil de produção pronto para alta disponibilidade de vários nós.
O valor desse sinalizador é definido automaticamente pelo assistente de instalação interativo. Ele é usado apenas para propósitos internos e não deve ser modificado manualmente.
gpu_supporttrue ou false - ativa ou desativa o suporte de GPU para o cluster.

Defina como ‘true’ se você tiver nós de agente com GPUs. Por padrão, ele é definido como 'false'

infra.docker_registry.usernameO nome de usuário que você deseja definir para a instalação do registro do docker.
infra.docker_registry.passwordA senha que você deseja definir para a instalação do registro do docker.
Parâmetros opcionaisDescription
telemetry_optouttrue ou false - usado para desativar o envio de telemetria de volta ao UiPath. Ele é definido como false por padrão.
Se você deseja cancelar, defina como true.
Parâmetros do AI CenterDescription
sql_connection_strO nome da conexão SQL.
orchestrator_urlO endereço da URL do Orchestrator.
identity_server_urlO endereço da URL do Identity Server.
orchestrator_cert_file_pathO caminho absoluto para o arquivo de certificado do Orchestrator.
identity_cert_file_pathO caminho absoluto para o arquivo de certificado do Identity Server.
identity_access_tokenO token de acesso obtido do Identity Server.

Configuração de certificados

Consulte o documento de pré-requisitos para obter o certificado:

Se nenhum certificado for fornecido no momento de instalação, o instalador criará um certificado emitido automaticamente e o configurará no cluster. A validade do certificado é de 90 dias.

Em instalações com vários nós, um certificado é necessário apenas no primeiro nó.

Observação: Não se esqueça de especificar o caminho absoluto para arquivos de certificado. Execute pwd para obter o caminho do diretório no qual os arquivos são colocados e anexe o nome do arquivo de certificado no cluster_config.json.

Em instalações com vários nós, um certificado é necessário apenas no primeiro nó.

ParâmetroDescription
server_certificate.ca_cert_fileCaminho absoluto para o certificado de Autoridade de certificado. Esse certificado é a autoridade que assina o certificado de TLS. No caso de autoassinado, é o rootCA.crt criado em etapas anteriores. Deixe em branco, caso você queira que o instalador seja gerado.
server_certificate.tls_cert_fileCaminho absoluto para o certificado de TLS (server.crt para autoassinado, criado em etapas anteriores). Deixe em branco, caso você queira que o instalador gere.
server_certificate.tls_key_fileCaminho absoluto para a chave de certificado (server.key para autoassinado, criado em etapas anteriores). Deixe em branco, caso você queira que o instalador gere.
additional_ca_certsO caminho absoluto para o arquivo contendo certificados de CA adicionais que você deseja que seja confiável para todos os serviços que funcionam como parte do Automation Suite. Todos os certificados no arquivo devem ter um formato PEM válido.

Por exemplo, você precisa fornecer o arquivo que contém o certificado de CA do SQL Server se o certificado não for emitido por uma autoridade de certificação pública.

Configuração do Banco de Dados

Cria automaticamente os bancos de dados necessários

Se desejar que o instalador crie os bancos de dados, preencha os seguintes campos

ParâmetroDescription
sql.create_dbDefina como true.
sql.server_urlFQDN do servidor sql, onde você deseja instalar para configurar o banco de dados
sql.portnúmero da porta na qual uma instância de banco de dados deve ser hospedada no servidor sql
sql.usernamenome de usuário/userid para conectar-se ao sql server.
sql.passwordsenha do nome de usuário fornecida anteriormente para conectar-se ao sql server.
Observação:
Certifique-se de que o usuário tenha a função de dbcreator. Isso concede a ele permissão para criar o banco de dados no SQL Server. Caso contrário, a instalação falha.

A conexão ODBC não aceita nomes de usuário que contenham caracteres especiais. Para nomes de usuário de banco de dados do AI Center e do Document Understanding, use apenas letras maiúsculas e minúsculas.

Traga seu próprio banco de dados

Caso você esteja fornecendo o banco de dados, precisamos de strings de SQLconnection para cada banco de dados. Os seguintes formatos de string de conexão SQL são compatíveis.

Formato da string de conexão do SQLProdutos
JDBCAI Center
ODBCDocument Understanding
ParâmetroDescription
sql_connection_string_templateString de conexão completa do ADO.NET onde o nome do catálogo é definido como DB_NAME_PLACEHOLDER. O instalador substituirá esse espaço reservado pelos nomes de banco de dados padrão para os serviços do pacote instalado.
sql_connection_string_template_jdbcString de conexão completa do JDBC onde o nome do banco de dados é definido como DB_NAME_PLACEHOLDER. O instalador substituirá esse espaço reservado pelos nomes de banco de dados padrão para os serviços do pacote instalado.
sql_connection_string_template_odbcString de conexão completa do ODBC onde o nome do banco de dados é definido como DB_NAME_PLACEHOLDER. O instalador substituirá esse espaço reservado pelos nomes de banco de dados padrão para os serviços do pacote instalado.

Esse parâmetro é usado pelo Document Understanding.

Importante:

Se você definir manualmente as strings de conexão no arquivo de configuração, poderá usar o caractere de escape em senhas SQL, JDBC ou ODBC da seguinte maneira:

  • para SQL: adicione ' no início e no fim da senha, e duplique qualquer outro '.
  • para JDBC/ODBC: adicione { no início da senha e } no final, e duplique qualquer outro }

ql_connection_string_template exemplo

Server=tcp:sfdev1804627-c83f074b-sql.database.windows.net:1433;Initial Catalog=DB_NAME_PLACEHOLDER;Persist Security Info=False;User Id=testadmin@sfdev1804627-c83f074b-sql.database.windows.net;Password=***;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;Max Pool Size=100;Server=tcp:sfdev1804627-c83f074b-sql.database.windows.net:1433;Initial Catalog=DB_NAME_PLACEHOLDER;Persist Security Info=False;User Id=testadmin@sfdev1804627-c83f074b-sql.database.windows.net;Password=***;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;Max Pool Size=100;

Exemplo: ql_connection_string_template_jdbc

jdbc:sqlserver://sfdev1804627-c83f074b-sql.database.windows.net:1433;database=DB_NAME_PLACEHOLDER;user=testadmin;password=***;encrypt=true;trustServerCertificate=false;Connection Timeout=30;hostNameInCertificate=sfdev1804627-c83f074b-sql.database.windows.net"jdbc:sqlserver://sfdev1804627-c83f074b-sql.database.windows.net:1433;database=DB_NAME_PLACEHOLDER;user=testadmin;password=***;encrypt=true;trustServerCertificate=false;Connection Timeout=30;hostNameInCertificate=sfdev1804627-c83f074b-sql.database.windows.net"

Exemplo de sql_connection_string_template_odbc</summary>

SERVER=sfdev1804627-c83f074b-sql.database.windows.net,1433;DATABASE=DB_NAME_PLACEHOLDER;DRIVER={ODBC Driver 17 for SQL Server};UID=testadmin;PWD=***;MultipleActiveResultSets=False;Encrypt=YES;TrustServerCertificate=NO;Connection Timeout=30;"SERVER=sfdev1804627-c83f074b-sql.database.windows.net,1433;DATABASE=DB_NAME_PLACEHOLDER;DRIVER={ODBC Driver 17 for SQL Server};UID=testadmin;PWD=***;MultipleActiveResultSets=False;Encrypt=YES;TrustServerCertificate=NO;Connection Timeout=30;"
Para o AI Center, defina o seguinte parâmetro aicenter de configuração de SQL:
ParâmetroDescription
aicenter.ai_appmanager.sql_connection_strString de conexão JDBC do gerenciador de aplicativos AI (consulte abaixo para o formato JDBC)
Observação: verifique se a string de conexão JDBC tem o formato no exemplo abaixo.

Amostra de string de conexão do AI Center

"aicenter": {
    "enabled": true,
    "sql_connection_str": "jdbc:sqlserver://sfdev1804627-c83f074b-sql.database.windows.net;instanceName=instance;database=aicenter;user=testadmin@sfdev1804627-c83f074b-sql.database.windows.net;password=TFgID_9GsE7_P@srCQp0WemXX_euHQZJ"
  }"aicenter": {
    "enabled": true,
    "sql_connection_str": "jdbc:sqlserver://sfdev1804627-c83f074b-sql.database.windows.net;instanceName=instance;database=aicenter;user=testadmin@sfdev1804627-c83f074b-sql.database.windows.net;password=TFgID_9GsE7_P@srCQp0WemXX_euHQZJ"
  }

Exemplo de string de conexão DU

Observação: somente use isso se você quiser substituir o banco de dados padrão pelo seu próprio.
"documentunderstanding":
{
  "datamanager": {
    "sql_connection_str": "mssql+pyodbc://testadmin:myPassword@mydev-sql.database.windows.net:1433/datamanager?driver=ODBC+Driver+17+for+SQL+Server",
  }"documentunderstanding":
{
  "datamanager": {
    "sql_connection_str": "mssql+pyodbc://testadmin:myPassword@mydev-sql.database.windows.net:1433/datamanager?driver=ODBC+Driver+17+for+SQL+Server",
  }
Importante: certifique-se de que a conta do SQL especificada nas strings de conexão tenha a função db_owner para todos os bancos de dados. Se as restrições de segurança não permitem o uso de db_owner, então a conta do SQL deve ter as seguintes funções e permissões em todos os bancos de dados:
  • db_ddladmin
  • db_datawriter
  • db_datareader
  • EXECUTEpermissão no esquema dbo

Configuração do monitoramento

Para provisionar recursos suficientes para o monitoramento (consulte Uso da pilha de monitoramento), você deve considerar a quantidade de vCPUs no cluster e a quantidade de retenção de métrica desejada. Confira abaixo como definir as seguintes configurações de recursos de monitoramento.

A tabela a seguir descreve os detalhes do campo de monitoramento:

ParâmetroDescription
prometheus_retentionEm dias.

Esta é a quantidade de dias que as métricas serão mantidas para a finalidade de visualização no Grafana e consulta manual usando o console do Prometheus.

O valor padrão é 7.
prometheus_storage_size

Em GB.

Quantidade de espaço de armazenamento a ser reservado por réplica do Prometheus.

Uma boa regra prática é definir esse valor como:

0.65 * vCPU cores * (prometheus_retention / 7)

Exemplo:

Se você definir prometheus_retention como 14 dias, e seu cluster tiver 80 núcleos distribuídos em 5 máquinas, isso se torna:

0.65 * 80 * (14 / 7)

52 * (2)

104

O valor padrão é 45 e não deve ser definido um valor inferior.

Se o Prometheus começar a ficar sem espaço de armazenamento, um alerta será enviado com instruções de correção específicas.

prometheus_memory_limit

Em MB.

Quantidade de memória a ser limitada para cada réplica do Prometheus.

Uma boa regra prática é definir esse valor como:

100 * vCPU cores * (prometheus_retention / 7)

Exemplo:

Se você definir prometheus_retention como 14 dias, e seu cluster tiver 80 núcleos distribuídos em 5 máquinas, isso se torna:

100 * 80 * (14 / 7)

8000 * (2)

16000

O valor padrão é 3200 para o modo de avaliação de nó único, e 6000 para o modo de produção pronto para alta disponibilidade de vários nós, e não deve ser definido um valor inferior.

Se o Prometheus começar a ficar sem memória, um alerta será enviado com instruções de correção específicas. Confira aqui.

Exemplo:

"monitoring": {
  "prometheus_retention": 14,
  "prometheus_memory_limit": 16000,
  "prometheus_storage_size": 104
}"monitoring": {
  "prometheus_retention": 14,
  "prometheus_memory_limit": 16000,
  "prometheus_storage_size": 104
}

Opcional: adicionar configuração de proxy

Observação: certifique-se de atender aos requisitos do servidor proxy antes de configurá-lo durante a instalação.
Ao executar o assistente do instalador interativo, você precisa fechá-lo e atualizar o cluster_config.json durante a etapa de configuração avançada.

Você precisa adicionar o seguinte ao arquivo de configuração usando o vim ou o editor de sua preferência no arquivo de configuração:

"proxy": {
      "enabled": "true",
      "http_proxy": "http://<PROXY-SERVER-IP>:<PROXY-PORT>",
      "https_proxy": "http://<PROXY-SERVER-IP>:<PROXY-PORT>",
      "no_proxy": "<Comma separated list of ips that should not got though proxy server>"
    }"proxy": {
      "enabled": "true",
      "http_proxy": "http://<PROXY-SERVER-IP>:<PROXY-PORT>",
      "https_proxy": "http://<PROXY-SERVER-IP>:<PROXY-PORT>",
      "no_proxy": "<Comma separated list of ips that should not got though proxy server>"
    }
  • Permitir porta 30070 na VM para chamadas de entrada e saída.
    Parâmetros obrigatóriosDescription
    enabledUse true ou false para habilitar ou desabilitar as configurações de proxy.
    http_proxyUsado para rotear solicitações de saída HTTP do cluster. Este deve ser o FQDN e a porta do servidor proxy.
    https_proxyUsado para rotear solicitações de saída HTTPS do cluster. Este deve ser o FQDN e a porta do servidor proxy.
    no_proxyLista separada por vírgulas de hosts, endereços IP ou intervalos de IP no formato CIDR que você não deseja rotear por meio do servidor proxy. Este deve ser um intervalo de sub-rede privada, host do SQL Server, endereço do servidor nomeado, endereço do servidor de metadados: *.<fqdn>,<fixed_rke_address>:9345,<fixed_rke2_address>:6443.
    • fqdn – o FQDN do cluster definido em cluster_config.json
    • fixed_rke_address – o fixed_rke_address definido em cluster_config.json
    • named server address – o endereço IP de /etc/resolv.conf
    • private_subnet_ip – o VNet do cluster
    • sql server host – o host do SQL Server
    • metadata server address – o endereço IP 169.254.169.254 usado para buscar metadados de máquina por serviços de nuvem, como o Azure e o AWS

Opcional: habilitação da resiliência a falhas zonais em um cluster de produção pronto para alta disponibilidade de vários nós

Para habilitar a resiliência a falhas zonais em um cluster de vários nós, siga estas etapas:

  1. Certifique-se de que os nós estejam distribuídos uniformemente em três zonas de disponibilidade. Para um servidor bare-metal ou VM fornecido por qualquer fornecedor, exceto AWS, Azure ou GCP, os metadados da zona devem ser fornecidos por meio do arquivo de configuração /etc/default/k8s-node-labels em cada máquina no formato a seguir.
    NODE_REGION_LABEL=<REGION_NAME>
    NODE_ZONE_LABEL=<ZONE_NAME>
    cat > /etc/default/k8s-node-labels <<EOF
    EXTRA_K8S_NODE_LABELS="topology.kubernetes.io/region=$NODE_REGION_LABEL,topology.kubernetes.io/zone=${NODE_ZONE_LABEL}"
    EOFNODE_REGION_LABEL=<REGION_NAME>
    NODE_ZONE_LABEL=<ZONE_NAME>
    cat > /etc/default/k8s-node-labels <<EOF
    EXTRA_K8S_NODE_LABELS="topology.kubernetes.io/region=$NODE_REGION_LABEL,topology.kubernetes.io/zone=${NODE_ZONE_LABEL}"
    EOF
  2. Atualize o arquivo cluster_config.json durante a etapa de configuração avançada.
Para atualizar o cluster_config.json usando o assistente de instalação interativo, feche na etapa de configuração avançada e adicione o seguinte ao arquivo de configuração usando o vim ou o editor de sua preferência:
"zone_resilience": true"zone_resilience": true
Parâmetros obrigatóriosDescription
zone_resilienceUse true ou false para habilitar ou desabilitar a resiliência à falha zonal.

Opcional: transmitindo resolv.conf personalizado

O cluster do Kubernetes que o Automation Suite implanta usa os servidores de nomes configurados em /etc/resolv.conf. O Kubernetes não funciona com resolvedores de DNS locais (127.0.0.1 ou 127.0.0.0/8), portanto, se você tiver esses servidores de nomes configurados no arquivo /etc/resolv.conf, é necessário passar uma referência de arquivo com as entradas de servidor de nomes corretas acessíveis a partir de qualquer lugar na VM no parâmetro .infra.custom_dns_resolver em cluster_config.json.

Para obter detalhes sobre uma limitação conhecida, consulte a Documentação do Kubernetes.

Parâmetro opcionalDescription
.infra.custom_dns_resolverCaminho para o arquivo com as entradas corretas do servidor de nomes que podem ser acessadas de qualquer lugar na VM. Essas entradas de servidor de nomes não devem ser de 127.0.0.0/8.

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.