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

Manual: experiência de instalação avançada

O arquivo cluster_config.json define os parâmetros, configurações e preferências aplicadas aos produtos UiPath implantados por meio do Automation Suite. Você deve atualizar esse arquivo para alterar os 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);
  • o editor de texto de sua preferência e, em seguida, copiar e colar o arquivo na máquina.
O arquivo cluster_config.json permite configurar os produtos da UiPath que você deseja implantar. Esteja ciente de que os produtos podem ter dependências. Para obter detalhes, consulte Dependências entre produtos
Para habilitar ou desabilitar um produto pelo arquivo cluster_config.json, use true ou false para o sinalizador enabled.

Amostra Cluster_config.json

{
  "fqdn": "PLACEHOLDER",
  "cluster_fqdn": "PLACEHOLDER",
  "fixed_rke_address": "PLACEHOLDER",
  "admin_username": "PLACEHOLDER",
  "admin_password": "PLACEHOLDER",
  "rke_token": "PLACEHOLDER ",
  "zone_resilience": false,
  "registries": {
    "docker": {
      "url": "registry.uipath.com"
    },
    "helm": {
      "url": "registry.uipath.com"
    }
  },
  "sql_connection_string_template": "PLACEHOLDER",
  "sql_connection_string_template_jdbc": "PLACEHOLDER",
  "sql_connection_string_template_odbc": "PLACEHOLDER",
  "sql_connection_string_template_sqlalchemy_pyodbc": "PLACEHOLDER",
  "orchestrator": {
    "testautomation": {
      "enabled": true
    },
    "updateserver": {
      "enabled": true
    },
    "enabled": true
  },
  "infra": {
    "docker_registry": {
      "username": " PLACEHOLDER ",
      "password": " PLACEHOLDER "
   },  
     "pod_log_path": ""
  },
  "platform": {
    "enabled": true
  },
  "automation_hub": {
    "enabled": true
  },
  "automation_ops": {
    "enabled": true
  },
  "action_center": {
    "enabled": true
  },
  "aicenter": {
    "enabled": true
  },
  "documentunderstanding": {
    "enabled": true,
    "datamanager": {}
  },
  "task_mining": {
    "enabled": true
  },
  "apps": {
    "enabled": true
  },
  "test_manager": {
    "enabled": true
  },
  "insights": {
    "enabled": true
  },
  "dataservice": {
    "enabled": true
  },
  "asrobots": {
    "enabled": true,
    "packagecaching": true,
    "packagecachefolder": "/uipath_asrobots_package_cache"
  },
  "processmining": {
    "enabled": true
  },
  "external_object_storage": {
    "enabled": false
  },
  "identity_certificate": {},
  "profile": "ha",
  "telemetry_optout": false,
  "alternative_fqdn": "",
  "server_certificate": {
    "ca_cert_file": "/opt/UiPathAutomationSuite/UiPath_Installer/rootCA.crt",
    "tls_cert_file": "/opt/UiPathAutomationSuite/UiPath_Installer/server.crt",
    "tls_key_file": "/opt/UiPathAutomationSuite/UiPath_Installer/server.key"
  },
  "alternative_certificate": {
    "ca_cert_file": "/opt/UiPathAutomationSuite/UiPath_Installer/alt-rootCA.crt",
    "tls_cert_file": "/opt/UiPathAutomationSuite/UiPath_Installer/alt-server.crt",
    "tls_key_file": "/opt/UiPathAutomationSuite/UiPath_Installer/alt-server.key"
  }
}{
  "fqdn": "PLACEHOLDER",
  "cluster_fqdn": "PLACEHOLDER",
  "fixed_rke_address": "PLACEHOLDER",
  "admin_username": "PLACEHOLDER",
  "admin_password": "PLACEHOLDER",
  "rke_token": "PLACEHOLDER ",
  "zone_resilience": false,
  "registries": {
    "docker": {
      "url": "registry.uipath.com"
    },
    "helm": {
      "url": "registry.uipath.com"
    }
  },
  "sql_connection_string_template": "PLACEHOLDER",
  "sql_connection_string_template_jdbc": "PLACEHOLDER",
  "sql_connection_string_template_odbc": "PLACEHOLDER",
  "sql_connection_string_template_sqlalchemy_pyodbc": "PLACEHOLDER",
  "orchestrator": {
    "testautomation": {
      "enabled": true
    },
    "updateserver": {
      "enabled": true
    },
    "enabled": true
  },
  "infra": {
    "docker_registry": {
      "username": " PLACEHOLDER ",
      "password": " PLACEHOLDER "
   },  
     "pod_log_path": ""
  },
  "platform": {
    "enabled": true
  },
  "automation_hub": {
    "enabled": true
  },
  "automation_ops": {
    "enabled": true
  },
  "action_center": {
    "enabled": true
  },
  "aicenter": {
    "enabled": true
  },
  "documentunderstanding": {
    "enabled": true,
    "datamanager": {}
  },
  "task_mining": {
    "enabled": true
  },
  "apps": {
    "enabled": true
  },
  "test_manager": {
    "enabled": true
  },
  "insights": {
    "enabled": true
  },
  "dataservice": {
    "enabled": true
  },
  "asrobots": {
    "enabled": true,
    "packagecaching": true,
    "packagecachefolder": "/uipath_asrobots_package_cache"
  },
  "processmining": {
    "enabled": true
  },
  "external_object_storage": {
    "enabled": false
  },
  "identity_certificate": {},
  "profile": "ha",
  "telemetry_optout": false,
  "alternative_fqdn": "",
  "server_certificate": {
    "ca_cert_file": "/opt/UiPathAutomationSuite/UiPath_Installer/rootCA.crt",
    "tls_cert_file": "/opt/UiPathAutomationSuite/UiPath_Installer/server.crt",
    "tls_key_file": "/opt/UiPathAutomationSuite/UiPath_Installer/server.key"
  },
  "alternative_certificate": {
    "ca_cert_file": "/opt/UiPathAutomationSuite/UiPath_Installer/alt-rootCA.crt",
    "tls_cert_file": "/opt/UiPathAutomationSuite/UiPath_Installer/alt-server.crt",
    "tls_key_file": "/opt/UiPathAutomationSuite/UiPath_Installer/alt-server.key"
  }
}

Configuração geral

Parâmetros obrigatórios

Description

fqdn

O nome de domínio do balanceador de carga (modo de produção pronto para alta disponibilidade de vários nós) ou da máquina (modo de avaliação de nó único).

fixed_rke_address

O 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.

multinode

Defina como true ao escolher um perfil de produção pronto para alta disponibilidade de vários nós. O valor desse sinalizador é definido automaticamente pelo instalador interativo. Ele é usado apenas para fins internos e não deve ser modificado manualmente.

admin_username

O nome de usuário que você deseja definir como administrador (como: admin ) para a organização do host.

admin_password

A senha de administrador do host a ser definida.

rke_token

Use 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.

profile

Define 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 instalador interativo. Ele é usado apenas para fins internos e não deve ser modificado manualmente.

infra.docker_registry.username

O nome de usuário que você deseja definir para a instalação do registro do docker.

infra.docker_registry.password

A senha que você deseja definir para a instalação do registro do docker.

Parâmetros opcionais

Description

telemetry_optout

true 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.

infra.pod_log_path

Permite que você altere o caminho padrão /var/log/pods dos logs do pod para um caminho personalizado de sua escolha.
Observação:
A atualização do caminho de log descarta os logs do contêiner existente de /var/log/pods.

Configuração de Certificados

Se nenhum certificado for fornecido no momento da instalação, o instalador criará certificados emitidos automaticamente e os configurará no cluster.

A validade dos certificados autoassinados é de 90 dias.

Para obter detalhes sobre como obter um certificado, consulte o seguinte:

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 foram colocados e anexe o nome do arquivo de certificado no cluster_config.json.

Nas instalações de produção prontas para alta disponibilidade de vários nós, é necessário um certificado apenas no primeiro nó.

Parâmetro

Description

server_certificate.ca_cert_file

O caminho absoluto para o certificado da Autoridade de Certificação (CA). Essa CA é a autoridade que assina o certificado TLS. Um pacote de CA deve conter apenas os certificados de cadeia usados para assinar o certificado TLS. O limite de cadeia é de nove certificados.

Se você usar um certificado assinado automaticamente, será necessário especificar o caminho para rootCA.crt, que você criou anteriormente. Deixe em branco se quiser que o instalador gere ir.

server_certificate.tls_cert_file

Caminho absoluto para o certificado TLS (server.crt é o certificado assinado automaticamente). Deixe em branco se você quiser que o instalador o gere.

server_certificate.tls_key_file

Caminho absoluto para a chave de certificado (server.key é o certificado assinado automaticamente). Deixe em branco se você quiser que o instalador o gere.

identity_certificate.token_signing_cert_file

Caminho absoluto para o certificado de assinatura de token de identidade usado para assinar tokens (identity.pfx é o certificado assinado automaticamente). Deixe em branco se você quiser que o instalador gere um certificado de identidade usando o certificado do servidor.

identity_certificate.token_signing_cert_pass

Senha de texto simples definida ao exportar o certificado de assinatura de token de identidade.

additional_ca_certs

O caminho absoluto para o arquivo contendo os certificados de CA adicionais que você deseja que seja confiável para todos os serviços em execução 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 quiser que o instalador crie os bancos de dados, preencha os seguintes campos:

Parâmetro

Description

sql.create_db

Defina como true.

sql.server_url

FQDN do SQL Server, onde você deseja que o instalador configure o banco de dados.

sql.port

Número da porta na qual uma instância de banco de dados deve ser hospedada no SQL Server.

sql.username

Nome de usuário/ID do usuário para se conectar ao SQL Server.

sql.password

Senha do nome de usuário fornecido anteriormente para se conectar 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

Se você optar por trazer seus próprios bancos de dados para uma nova instalação do Automation Suite, recomendamos fortemente a configuração de novos bancos de dados em vez de usar os existentes. Essa precaução é necessária para evitar quaisquer conflitos com a operação do Automation Suite que possam ocorrer devido a metadados restantes de bancos de dados antigos.

Se trouxer seu próprio banco de dados, você deve fornecer as strings de conexão do SQL para cada banco de dados. O Automation Suite oferece suporte aos seguintes formatos de string de conexão SQL:

Parâmetro

Description

Produtos

sql_connection_string_template

String 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.

Plataforma, Orchestrator, Automation Suite Robots, Test Manager, Automation Hub, Automation Ops, Insights, Task Mining, Data Service, Process Mining, Document Understanding

sql_connection_string_template_jdbc

String 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.

AI Center

sql_connection_string_template_odbc

String 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.

Document Understanding

sql_connection_string_template_sqlalchemy_pyodbc

String de conexão SQL alchemy PYODBC completa na qual 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 da suíte instalada.

Process Mining

Importante:
Certifique-se de que a conta do SQL especificada nas strings de conexão tenha as funções db_securityadmin e db_owner para todos os bancos de dados do Automation Suite. 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
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, ODBC ou PYODBC 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 }
  • para PYODBC: username e password devem ser codificados por url para contabilizar caracteres especiais.
Importante: O banco de dados AutomationSuite_ProcessMining_Airflow para o produto Process Mining deve ter READ_COMMITTED_SNAPSHOT ativado.
Observação:
Por padrão, TrustServerCertificate é definido como False, e você deve fornecer um certificado de CA adicional para o SQL Server. Isso é necessário se o certificado do SQL Server for autoassinado ou assinado por uma CA interna.

Consulte Configuração de certificados nesta página para obter mais detalhes.

Exemplo do sql_connection_string_template

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 do sql_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 do sql_connection_string_template_odbc

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;"

sql_connection_string_template_sqlalchemy_pyodbc

mssql+pyodbc://testuser%40sfdev3082457-sql.database.windows.net:_-%29X07_%5E3-%28%3B%25e-T@sfdev3082457-sql.database.windows.net:1433/DB_NAME_PLACEHOLDER?driver=ODBC+Driver+17+for+SQL+Server"mssql+pyodbc://testuser%40sfdev3082457-sql.database.windows.net:_-%29X07_%5E3-%28%3B%25e-T@sfdev3082457-sql.database.windows.net:1433/DB_NAME_PLACEHOLDER?driver=ODBC+Driver+17+for+SQL+Server"

Nomes de banco de dados padrão e opcional para serviços do Automation Suite

{
  "orchestrator": "AutomationSuite_Orchestrator",
  "orchestrator_ta": "AutomationSuite_Orchestrator",
  "asrobots": "AutomationSuite_Orchestrator",
  "orchestrator_upd": "AutomationSuite_Platform",
  "platform": "AutomationSuite_Platform",
  "test_manager": "AutomationSuite_Test_Manager",
  "automation_ops": "AutomationSuite_Platform",
  "automation_hub": "AutomationSuite_Automation_Hub",
  "insights": "AutomationSuite_Insights",
  "task_mining": "AutomationSuite_Task_Mining",
  "dataservice": "AutomationSuite_DataService", 
  "aicenter": "AutomationSuite_AICenter",
  "documentunderstanding": "AutomationSuite_DU_Datamanager",
  "processmining_airflow": "AutomationSuite_Airflow",
  "processmining_metadata": "AutomationSuite_ProcessMining_Metadata",
  "processmining_warehouse": "AutomationSuite_ProcessMining_Warehouse",
    
}{
  "orchestrator": "AutomationSuite_Orchestrator",
  "orchestrator_ta": "AutomationSuite_Orchestrator",
  "asrobots": "AutomationSuite_Orchestrator",
  "orchestrator_upd": "AutomationSuite_Platform",
  "platform": "AutomationSuite_Platform",
  "test_manager": "AutomationSuite_Test_Manager",
  "automation_ops": "AutomationSuite_Platform",
  "automation_hub": "AutomationSuite_Automation_Hub",
  "insights": "AutomationSuite_Insights",
  "task_mining": "AutomationSuite_Task_Mining",
  "dataservice": "AutomationSuite_DataService", 
  "aicenter": "AutomationSuite_AICenter",
  "documentunderstanding": "AutomationSuite_DU_Datamanager",
  "processmining_airflow": "AutomationSuite_Airflow",
  "processmining_metadata": "AutomationSuite_ProcessMining_Metadata",
  "processmining_warehouse": "AutomationSuite_ProcessMining_Warehouse",
    
}
Observação:
Se você quiser substituir a string de conexão de algum dos serviços acima, defina sql_connection_str para esse serviço específico.

Você ainda precisa criar esses bancos de dados manualmente antes de executar o instalador.

Substituição da string de conexão padrão do Orchestrator e da plataforma

{
  "orchestrator": {
    "sql_connection_str": "Server=tcp:sfdev1804627-c83f074b-sql.database.windows.net,1433;Initial Catalog=CustomOrchDB;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;"
  },
  "platform": {
    "sql_connection_str": "Server=tcp:sfdev1804627-c83f074b-sql.database.windows.net,1433;Initial Catalog=CustomIDDB;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;"
  }
}{
  "orchestrator": {
    "sql_connection_str": "Server=tcp:sfdev1804627-c83f074b-sql.database.windows.net,1433;Initial Catalog=CustomOrchDB;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;"
  },
  "platform": {
    "sql_connection_str": "Server=tcp:sfdev1804627-c83f074b-sql.database.windows.net,1433;Initial Catalog=CustomIDDB;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;"
  }
}
Para substituir as strings de conexão do banco de dados para outros produtos, defina sql_connection_str nos blocos de produto correspondentes. A string de conexão deve ter um formato compatível com o respectivo produto.

Exemplo para definir a string de conexão do banco de dados para o AI Center

Parâmetro

Description

aicenter.sql_connection_str

String de conexão JDBC do AICenter (consulte abaixo o formato JDBC)

Observação: verifique se a string de conexão JDBC tem o formato do exemplo abaixo.
"aicenter": {
    "enabled": true,
    "sql_connection_str": "jdbc:sqlserver://sfdev1804627-c83f074b-sql.database.windows.net;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;database=aicenter;user=testadmin@sfdev1804627-c83f074b-sql.database.windows.net;password=TFgID_9GsE7_P@srCQp0WemXX_euHQZJ"
}

Amostra de string de conexão do Document Understanding

"documentUnderstanding": {
  "datamanager": {
    "sql_connection_str": "SERVER=sql-server.database.windows.net;DATABASE=datamanager;DRIVER={ODBC Driver 17 for SQL Server};UID=testadmin;PWD=myPassword"
  },
  "sql_connection_str": "Server=tcp:database.example.com,1433;Initial Catalog=db;Persist Security Info=False;User Id=testadmin@example.com;Password=***;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;Max Pool Size=100;",
  "cjkOcr": 
  {
    "enabled": true
  }
}"documentUnderstanding": {
  "datamanager": {
    "sql_connection_str": "SERVER=sql-server.database.windows.net;DATABASE=datamanager;DRIVER={ODBC Driver 17 for SQL Server};UID=testadmin;PWD=myPassword"
  },
  "sql_connection_str": "Server=tcp:database.example.com,1433;Initial Catalog=db;Persist Security Info=False;User Id=testadmin@example.com;Password=***;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;Max Pool Size=100;",
  "cjkOcr": 
  {
    "enabled": true
  }
}
Observação: a string de conexão do SQL Data Manager é opcional apenas se você quiser substituir a string padrão por uma própria.

O manuscrito fica sempre habilitado para a instalação online.

O valor padrão de max_cpu_per-pod é 2, mas você pode ajustá-lo de acordo com suas necessidades. Para obter mais informações, confira o Arquivo de configuração do Document Understanding.

Configuração externa do Objectstore

Configuração geral

O Automation Suite permite que você traga seu próprio provedor de armazenamento externo. Você pode escolher entre os seguintes provedores de armazenamento:

  • Azure
  • AWS
  • compatível com S3

Você pode configurar o armazenamento de objeto externo de uma das seguintes maneiras:

  • durante a instalação, usando o instalador interativo;
  • pós-instalação, usando o arquivo cluster_config.json .
A tabela a seguir lista os parâmetros cluster_config.json que você pode usar para configurar cada provedor de armazenamento de objeto externo:

Parâmetro

Azure

AWS

compatível com S3

Description

external_object_storage.enabled

available

available

available

Especifique se você gostaria de trazer seu próprio armazenamento de objetos. Valores possíveis: true e false.

external_object_storage.create_bucket

available

available

available

Especifique se você gostaria de provisionar o bucket. Valores possíveis: true e false.

external_object_storage.storage_type

available

available

available

Especifique o provedor de armazenamento que deseja configurar. O valor diferencia maiúsculas de minúsculas. Valores possíveis: azure e s3.
Observação: muitos objetos S3 requerem o CORS definido para todo o tráfego do cluster do Automation Suite. Você deve configurar a política CORS no nível do objectstore para permitir o FQDN do cluster.

external_object_storage.fqdn

Não disponível

available

available

Especifique o FQDN do servidor S3. Necessário no caso da instância da AWS e perfil não instância.

external_object_storage.port

Não disponível

available

available

Especifique a porta S3. Necessário no caso da instância da AWS e perfil não instância.

external_object_storage.region

Não disponível

available

available

Especifique a região da AWS onde os buckets estão hospedados. Necessário no caso da instância da AWS e perfil não instância.

external_object_storage.access_key

Não disponível

available

available

Especifique a chave de acesso para a conta S3. Necessário apenas no caso do perfil de não instância da AWS.

external_object_storage.secret_key

Não disponível

available

available

Especifique a chave secreta para a conta S3. Necessário apenas no caso do perfil de não instância da AWS.

external_object_storage.use_instance_profile

Não disponível

available

available

Especifique se você deseja usar um perfil de instância. Um perfil de instância do AWS Identity e Access Management (IAM) concede acesso seguro a recursos da AWS para aplicativos ou serviços em execução nas instâncias do Amazon Elastic Compute Cloud (EC2). Se você optar pelo AWS S3, um perfil de instância permite que uma instância do EC2 interaja com buckets do S3 sem a necessidade de que credenciais explícitas da AWS (como chaves de acesso) sejam armazenadas na instância.

external_object_storage.use_managed_identity

available

Não disponível

Não disponível

Use a identidade gerenciada com sua conta de armazenamento do Azure. Valores possíveis: true e false.
external_object_storage.bucket_name_prefix 1

Não disponível

available

available

Indique o prefixo para os nomes dos depósitos. Opcional no caso do perfil de não instância da AWS.

external_object_storage.bucket_name_suffix 2

Não disponível

available

available

Indique o sufixo para os nomes dos depósitos. Opcional no caso do perfil de não instância da AWS.

external_object_storage.account_key

available

Não disponível

Não disponível

Especifique a chave de conta do Azure. Necessário apenas ao usar identidade não gerenciada.

external_object_storage.account_name

available

Não disponível

Não disponível

Especifique o nome da conta do Azure.

external_object_storage.azure_fqdn_suffix

available

Não disponível

Não disponível

Especifique o sufixo FQDN do Azure. Parâmetro opcional.

external_object_storage.client_id

available

Não disponível

Não disponível

Especifique sua ID de cliente do Azure. Necessário apenas ao usar a identidade gerenciada.

1, 2 Ao configurar o armazenamento de objetos externo, você deve seguir as regras e convenções de nomenclatura do seu provedor para bucket_name_prefix e bucket_name_suffix. Além disso, o sufixo e o prefixo devem ter um comprimento combinado de não mais do que 25 caracteres, e você não deve terminar o prefixo ou iniciar o sufixo com um hífen (-), pois já adicionamos o caractere para você automaticamente.

Configuração específica do produto

Você pode usar os parâmetros descritos na seção Configuração geral para atualizar a configuração geral do Automation Suite. Isso significa que todos os produtos instalados compartilhariam a mesma configuração. Se você quiser configurar um ou mais produtos de forma diferente, pode substituir a configuração geral. Você só precisa especificar o(s) produto(s) para o qual deseja configurar o armazenamento de objetos externo de forma diferente e usar os mesmos parâmetros para definir sua configuração. Observe que todos os outros produtos instalados continuarão a herdar a configuração geral.

O exemplo a seguir mostra como você pode substituir a configuração geral do Orchestrator:

"external_object_storage": {
  "enabled": false, // <true/false>
  "create_bucket": true, // <true/false>
  "storage_type": "s3", // <s3,azure,aws>
  "fqdn": "",  // <needed in the case of aws instance and non-instance profile>
  "port": 443, // <needed in the case of aws instance and non-instance profile>
  "region": "", 
  "access_key": "", // <needed in case of aws non instance profile>
  "secret_key": "", // <needed in case of aws non instance profile>
  "use_managed_identity": false, // <true/false>
  "bucket_name_prefix": "",
  "bucket_name_suffix": "",
  "account_key": "", // <needed only when using non managed identity>
  "account_name": "",
  "azure_fqdn_suffix": "core.windows.net",
  "client_id": "" // <optional field in case of managed identity>
},

"orchestrator": {
  "external_object_storage": {
    "enabled": false, // <true/false>
    "create_bucket": true, // <true/false>
    "storage_type": "s3", // <s3,azure>
    "fqdn": "",  // <needed in the case of aws instance and non-instance profile>
    "port": 443, // <needed in the case of aws instance and non-instance profile>
    "region": "", 
    "access_key": "", // <needed in case of aws non instance profile>
    "secret_key": "", // <needed in case of aws non instance profile>
    "use_managed_identity": false, // <true/false>
    "bucket_name_prefix": "",
    "bucket_name_suffix": "",
    "account_key": "", // <needed only when using non managed identity>
    "account_name": "",
    "azure_fqdn_suffix": "core.windows.net",
    "client_id": "" // <optional field in case of managed identity>
  }
}"external_object_storage": {
  "enabled": false, // <true/false>
  "create_bucket": true, // <true/false>
  "storage_type": "s3", // <s3,azure,aws>
  "fqdn": "",  // <needed in the case of aws instance and non-instance profile>
  "port": 443, // <needed in the case of aws instance and non-instance profile>
  "region": "", 
  "access_key": "", // <needed in case of aws non instance profile>
  "secret_key": "", // <needed in case of aws non instance profile>
  "use_managed_identity": false, // <true/false>
  "bucket_name_prefix": "",
  "bucket_name_suffix": "",
  "account_key": "", // <needed only when using non managed identity>
  "account_name": "",
  "azure_fqdn_suffix": "core.windows.net",
  "client_id": "" // <optional field in case of managed identity>
},

"orchestrator": {
  "external_object_storage": {
    "enabled": false, // <true/false>
    "create_bucket": true, // <true/false>
    "storage_type": "s3", // <s3,azure>
    "fqdn": "",  // <needed in the case of aws instance and non-instance profile>
    "port": 443, // <needed in the case of aws instance and non-instance profile>
    "region": "", 
    "access_key": "", // <needed in case of aws non instance profile>
    "secret_key": "", // <needed in case of aws non instance profile>
    "use_managed_identity": false, // <true/false>
    "bucket_name_prefix": "",
    "bucket_name_suffix": "",
    "account_key": "", // <needed only when using non managed identity>
    "account_name": "",
    "azure_fqdn_suffix": "core.windows.net",
    "client_id": "" // <optional field in case of managed identity>
  }
}

Rotating the blob storage credentials for Process Mining

Para rotacionar as credenciais de armazenamento de Blobs para o Process Mining no Automation Suite, as senhas armazenadas devem ser atualizadas com as novas credenciais. Consulte Rotação das credenciais do armazenamento de blobs.

Configuração específica do Orchestrator

O Orchestrator pode salvar logs de robô em um servidor do Elasticsearch. Você pode configurar esta funcionalidade na seção orchestrator.orchestrator_robot_logs_elastic. Se não forem fornecidos, os logs de robô serão salvos no banco de dados do Orchestrator.
A tabela a seguir lista os parâmetros orchestrator.orchestrator_robot_logs_elastic:

Parâmetro

Description

elastic_uri

O endereço da instância do Elasticsearch que deve ser usado. Ele deve ser fornecido na forma de um URI. Se fornecidos, o nome de usuário e senha também são necessários.

elastic_auth_username

O nome de usuário do Elasticsearch, usado para autenticação.

elastic_auth_password

A senha do Elasticsearch, usada para autenticação.

Exemplo

"orchestrator": {
    "orchestrator_robot_logs_elastic": {
        "elastic_uri": "https://elastic.example.com:9200",
        "elastic_auth_username": "elastic-user",
        "elastic_auth_password": "elastic-password"
    }
}"orchestrator": {
    "orchestrator_robot_logs_elastic": {
        "elastic_uri": "https://elastic.example.com:9200",
        "elastic_auth_username": "elastic-user",
        "elastic_auth_password": "elastic-password"
    }
}

Configuração específica do Insights

Se habilitar o Insights, os usuários podem incluir a configuração do servidor SMTP que será usada para enviar emails agendados/emails de alerta. Se não for fornecida, os emails agendados e os emails de alerta não funcionarão.

Os detalhes dos campos insights.smtp_configuration:

Parâmetro

Description

tls_version

Os valores válidos são TLSv1_2, TLSv1_1, SSLv23. Omita a chave completamente se não estiver usando TLS.

from_email

Endereço do qual os emails de alerta/agendados serão enviados.

host

Nome do host do servidor SMTP.

port

Porta do servidor SMTP.

username

Nome de usuário para a autenticação do servidor SMTP.

password

Senha para a autenticação do servidor SMTP.

Exemplo

"insights": {
    "enabled": true,
    "smtp_configuration": {
      "tls_version": "TLSv1_2",
      "from_email": "test@test.com",
      "host": "smtp.sendgrid.com",
      "port": 587,
      "username": "login",
      "password": "password123"
    }
  }"insights": {
    "enabled": true,
    "smtp_configuration": {
      "tls_version": "TLSv1_2",
      "from_email": "test@test.com",
      "host": "smtp.sendgrid.com",
      "port": 587,
      "username": "login",
      "password": "password123"
    }
  }

Configuração específica de Process Mining

Se habilitar o Process Mining, recomendamos que os usuários especifiquem um SECONDARY SQL Server para atuar como um data warehouse separado do Automation Suite SQL Server primário. O SQL Server do armazém de dados estará sob carga pesada e pode ser configurado na seção processmining :

Parâmetro

Description

sql_connection_str

Cadeia de conexão formatada DotNet com banco de dados definido como um espaço reservado: Initial Catalog=DB_NAME_PLACEHOLDER.

sqlalchemy_pyodbc_sql_connection_str

Cadeia de conexão formatada Sqlalchemy PYODBC para localização de metadados personalizados:

sqlServer:1433/DB_NAME_PLACEHOLDER.

warehouse.sql_connection_str

Cadeia de conexão SQL formatada em DotNet para o data warehouse de processmining SQL Server com espaço reservado para dbname:

Initial Catalog=DB_NAME_PLACEHOLDER.

warehouse.sqlalchemy_pyodbc_sql_connection_str

String de conexão SQL formatada Sqlalchemy PYODBC para o data warehouse de processmining SQL Server com espaço reservado para dbname:

sqlServer:1433/DB_NAME_PLACEHOLDER.

warehouse.master_sql_connection_str

Se o instalador estiver criando bancos de dados por meio da configuração sql.create_db: true , uma string de conexão SQL mestre formatada em DotNet deve ser fornecida para o SQL Server do data warehouse de processmining. O banco de dados na cadeia de conexão deve ser definido como master.
Importante:
Você deve usar a porta padrão do servidor 1433 para os seguintes bancos de dados:
  • warehouse.sql_connection_str
  • warehouse.sqlalchemy_pyodbc_sql_connection_str
  • warehouse.master_sql_connection_str

Portas do servidor SQL não padrão não são compatíveis.

Automation Suite Robots-specific configuration

Os Automation Suite Robots podem usar o cache de pacotes para otimizar suas execuções de processo e permitir que sejam executados mais rapidamente. Os pacotes NuGet são obtidos do sistema de arquivos em vez de serem baixados da Internet/rede. Isso requer um espaço adicional de no mínimo 10GiB e deve ser alocado para uma pasta no sistema de arquivos da máquina host dos nós dedicados.

Para ativar o armazenamento em cache do pacote, você precisa atualizar os seguintes parâmetros cluster_config.json :

Parâmetro

Valor padrão

Description

packagecaching

true

Quando definido como true, os robôs usam um cache local para resolução de pacote.

packagecachefolder

/uipath_asrobots_package_cache

O local do disco no nó do agente sem servidor em que os pacotes são armazenados.

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âmetro

Description

prometheus_retention

Em 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

No GiB.

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. Confira aqui.

prometheus_memory_limit

Em MiB.

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: configuração do servidor proxy

Observação:

Confira se os requisitos do servidor proxy são atendidos antes de configurar o servidor proxy 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": "alm.<fqdn>,<fixed_rke_address>:9345,<fixed_rke_address>:6443,<named server address>,<metadata server address>,<k8s address range>,<private_subnet_ip>,<sql server host>,<Comma separated list of ips that should not go through proxy server>"
}"proxy": {
  "enabled": "true",
  "http_proxy": "http://<PROXY-SERVER-IP>:<PROXY-PORT>",
  "https_proxy": "http://<PROXY-SERVER-IP>:<PROXY-PORT>",
  "no_proxy": "alm.<fqdn>,<fixed_rke_address>:9345,<fixed_rke_address>:6443,<named server address>,<metadata server address>,<k8s address range>,<private_subnet_ip>,<sql server host>,<Comma separated list of ips that should not go through proxy server>"
}

Parâmetros obrigatórios

Description

enabled

Use true ou false para habilitar ou desabilitar as configurações de proxy.

http_proxy

Usado para rotear solicitações de saída HTTP do cluster. Este deve ser o FQDN e a porta do servidor proxy.

https_proxy

Usado para rotear solicitações de saída HTTPS do cluster. Este deve ser o FQDN e a porta do servidor proxy.

no_proxy

Lista 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
  • k8s address range - os intervalos de endereços IP usados pelos nós do Kubernetes, ou seja, 10.0.0.0/8
Importante:
Se você usar o AI Center com um Orchestrator externo, deve adicionar o domínio externo do Orchestrator à lista no_proxy.

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órios

Description

zone_resilience

Use true ou false para habilitar ou desabilitar a resiliência à falha zonal.
Importante:
Se você ativar a resiliência para falha zonal, passar os argumentos --zone e --region é:
  • recomendado se você provisionar suas máquinas na AWS, Azure ou GCP e os serviços de metadados estiverem ativados conforme o instalador preenche os detalhes da zona e da região.
  • obrigatório se você provisionar suas máquinas no AWS, Azure ou GCP e os serviços de metadados estiverem desativados ou se você optar por um provedor de nuvem diferente.

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âmetros opcionais

Description

.infra.custom_dns_resolver

Caminho 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.

Optional: Increasing fault tolerance

Por padrão, o perfil de produção pronto para HA de vários nós permite que um nó de servidor fique inativo sem causar uma falha de implementação. Você pode aumentar a tolerância à falha do nó do servidor usando o parâmetro fault_tolerance no arquivo cluster_config.json . O parâmetro modifica o fator de replicação dos componentes de armazenamento no cluster, como Ceph e Longhorn.

Requisitos de Hardware

Para aumentar a tolerância a falhas além de 1, certifique-se de que seu ambiente atenda aos seguintes requisitos:
  • Seu cluster consiste em um mínimo de 2x+1 nós de servidor, em que x é a tolerância a falhas de nó de servidor necessária;
  • Cada nó de servidor possui um dispositivo bruto configurado.

How to increase fault tolerance

Para aumentar a tolerância a falhas além de 1, execute as seguintes etapas:
  1. Defina fault_tolerance com o valor necessário no arquivo cluster_config.json . Se você configurá-lo antes de iniciar a operação de instalação ou atualização, não será necessário executar nenhuma etapa adicional.
  2. Execute o instalador uipathctl.sh para modificar o fator de replicação do armazenamento de objetos Ceph no cluster. Aguarde até que a operação seja concluída com sucesso.
  3. Execute o instalador install-uipath.sh para modificar o fator de replicação de volumes Longhorn. Aguarde até que a operação seja concluída com sucesso.

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.