- Visão geral
- Requisitos
- Pré-instalação
- Preparação da instalação
- Baixando os pacotes de instalação
- Configuração do registro compatível com OCI
- Concessão de permissões de instalação
- Instalação e configuração do service mesh
- Instalando e configurando a ferramenta GitOps
- Instalando o operador de segredos externos no Kubernetes
- Aplicação de configurações diversas
- Executando o uipathctl
- Instalação
- Pós-instalação
- Migração e atualização
- Monitoramento e alertas
- Administração de cluster
- Configuração específica do produto
- Configuração avançada do Orchestrator
- Configuração de parâmetros do Orchestrator
- Configuração do AppSettings
- Configuração do tamanho máximo da solicitação
- Substituição da configuração de armazenamento no nível do cluster
- Configuração do NLog
- Salvando logs do robô no Elasticsearch
- Configuração dos repositórios de credenciais
- Configuração da chave de criptografia por tenant
- Limpeza do banco de dados do Orchestrator
- Ignorar a instalação da biblioteca do host
- AI Trust Layer
- Solução de problemas
- A configuração de backup não funciona devido a uma falha na conexão com o Azure Government
- Pods no namespace uipath travaram ao habilitar taints de nó personalizado
- Não é possível iniciar o Automation Hub e o Apps com configuração de proxy
- O backup do Velero falha com o erro FailedValidation
- Solução de problemas de segredos externos
- Solução de problemas de Temporal como um serviço
- Os pods do AI Center e do Document Understanding falham ao iniciar com a verificação do certificado TLS habilitada
- Erros de validação de certificado TLS
- O Fluentd não exporta logs em ambientes IPv6
- O Studio Desktop não pode carregar conectores e atividades do Integration Service
- Migreção manual do ArgoCD NetworkPolicy (GHSA-47m3-95c7-g2g8)
- Configuração de solicitações e limites de recursos para cargas de trabalho criadas pelo uipathctl
Configuração de armazenamento de objetos, armazenamento de blocos e armazenamento de arquivos para o Automation Suite no EKS/AKS.
Além do Microsoft SQL Server, o cluster do Automation Suite requer um componente de armazenamento para armazenar os arquivos. O Automation Suite requer o objectstore e o armazenamento em bloco/arquivo, dependendo do tipo de serviço que você escolher.
Estimativa de armazenamento para cada componente do Automation Suite
Serviços de plataforma da UiPath®
Os serviços a seguir exigem o componente de armazenamento. Eles são necessários apenas se você tiver optado por habilitá-los como parte da instalação do Automation Suite ou posteriormente.
| Serviço | Tipo de armazenamento | Finalidade | Estimativa |
|---|---|---|---|
| Orchestrator | Armazenamento de objeto |
| Normalmente, um pacote tem 5 Mb e os buckets, se houver, têm menos de 1 Mb. Uma Enterprise madura implanta cerca de 10 GB de pacotes e 12 GB de Filas. |
| Action Center | Armazenamento de objeto |
| Normalmente, um documento leva 0,15 Mb e os formulários a serem preenchidos levam 0,15 Kb adicionais. Em uma empresa madura, isso pode totalizar 4 GB. |
| Test Manager | Armazenamento de objeto |
| Normalmente, todos os arquivos e anexos somam aproximadamente 5 Gb. |
| Insights | Blockstore |
| 2 GB são necessários para habilitação, com o espaço para dados inativos (pegada de disco) crescendo conforme número. Uma implantação em escala Enterprisebem estabelecida requer mais alguns GB para todos os painéis. Cerca de 10 GB de armazenamento devem ser suficientes. |
| Integration Service | Armazenamento de objeto |
| Os conectores variam em tamanho, mas a instalação de todos os conectores disponíveis deve consumir menos de 100 MB. Os eventos de disparo variam em número com base no uso, mas 5 GB devem ser suficientes. |
| Studio Web | Armazenamento de arquivos |
|
|
| Apps | Armazenamento de arquivos |
| aproximadamente 5 GB para dados de aplicativo existentes; aproximadamente 15 MB por aplicativo complexo. Espaço adicional necessário para anexos carregados pelos usuários. |
| AI Center | Objectstore/Filestore |
| Uma instalação típica e estabelecida consumirá 8 GB para cinco pacotes e 1 GB adicionais para os conjuntos de dados. Um pipeline pode consumir um adicional de 50 GB de armazenamento em bloco, mas apenas quando estiver em execução ativa. |
| Document Understanding | Armazenamento de objeto |
| Em uma implantação madura, 12 GB irão para o modelo ML, 17 GB para o OCR e 50 GB para todos os documentos armazenados. |
| Automation Suite Robots | Armazenamento de arquivos |
| Normalmente, uma empresa madura implanta cerca de 10 GB de pacotes. |
| Process Mining | Armazenamento de objeto |
| O espaço mínimo é usado apenas para armazenar os arquivos SQL. aproximadamente um GB de armazenamento deve ser suficiente no início. |
| Embasamento de contexto | Objectstore, Armazenamento de arquivo |
|
|
| Observabilidade de LLM | Armazenamento de objeto |
|
|
| Soluções | Armazenamento de objeto |
|
|
| Maestro | Armazenamento de objeto |
|
|
| Autopilot para desenvolvedores | Armazenamento de objeto |
|
|
Serviços de pacotes compartilhados
Os serviços de pacote compartilhados a seguir exigem o componente de armazenamento. Elas são necessárias apenas se você tiver optado por instalá-las como parte da instalação do Automation Suite .
| Serviço | Tipo de armazenamento | Finalidade | Estimativa |
|---|---|---|---|
| Monitoramento | Armazenamento de blocos | Dados de métricas relacionadas ao Kubernetes e à infraestrutura | Aproximadamente cerca de 100 GB para armazenar os últimos dez dias de dados de monitoramento |
| Geração de logs | Armazenamento de blocos | Logs em execução no aplicativo | Cerca de 20 GB para manter os dias anteriores dos logs |
Armazenamento de objeto
O Automation Suite suporta os seguintes objetos:
| Kubernetes | Armazenamento de objeto | Autenticação compatível |
|---|---|---|
| EKS | Amazon S3 |
|
| AKS | Armazenamento do Azure (blob) |
|
*Atualmente, o Insights não suporta a identidade de carga de trabalho para autenticação.
Configuração da política CORS
Além disso, você pode ter que habilitar a seguinte política do CORS no nível da conta/bucket de armazenamento se encontrar qualquer erro relacionado ao CORS durante a conexão do S3 ao usar o cluster do Automation Suite .
Certifique-se de substituir {{fqdn}} pelo FQDN do cluster do Automation Suite na seguinte política do CORS.
O exemplo a seguir mostra a política do CORS no formato JSON:
[
{
"AllowedHeaders": [
"*"
],
"AllowedMethods": [
"POST",
"GET",
"HEAD",
"DELETE",
"PUT"
],
"AllowedOrigins": [
"https://{{fqdn}}"
],
"ExposeHeaders": [
"etag",
"x-amz-server-side-encryption",
"x-amz-request-id",
"x-amz-id-2"
],
"MaxAgeSeconds": 3000
}
]
[
{
"AllowedHeaders": [
"*"
],
"AllowedMethods": [
"POST",
"GET",
"HEAD",
"DELETE",
"PUT"
],
"AllowedOrigins": [
"https://{{fqdn}}"
],
"ExposeHeaders": [
"etag",
"x-amz-server-side-encryption",
"x-amz-request-id",
"x-amz-id-2"
],
"MaxAgeSeconds": 3000
}
]
O exemplo a seguir mostra a política do CORS no formato XML:
<CORSConfiguration>
<CORSRule>
<AllowedOrigin>{{fqdn}}</AllowedOrigin>
<AllowedMethod>HEAD</AllowedMethod>
<AllowedMethod>GET</AllowedMethod>
<AllowedMethod>PUT</AllowedMethod>
<AllowedMethod>POST</AllowedMethod>
<AllowedMethod>DELETE</AllowedMethod>
<AllowedHeader>*</AllowedHeader>
<MaxAgeSeconds>3000</MaxAgeSeconds>
<ExposeHeader>x-amz-server-side-encryption</ExposeHeader>
<ExposeHeader>x-amz-request-id</ExposeHeader>
<ExposeHeader>x-amz-id-2</ExposeHeader>
<ExposeHeader>etag</ExposeHeader>
</CORSRule>
</CORSConfiguration>
<CORSConfiguration>
<CORSRule>
<AllowedOrigin>{{fqdn}}</AllowedOrigin>
<AllowedMethod>HEAD</AllowedMethod>
<AllowedMethod>GET</AllowedMethod>
<AllowedMethod>PUT</AllowedMethod>
<AllowedMethod>POST</AllowedMethod>
<AllowedMethod>DELETE</AllowedMethod>
<AllowedHeader>*</AllowedHeader>
<MaxAgeSeconds>3000</MaxAgeSeconds>
<ExposeHeader>x-amz-server-side-encryption</ExposeHeader>
<ExposeHeader>x-amz-request-id</ExposeHeader>
<ExposeHeader>x-amz-id-2</ExposeHeader>
<ExposeHeader>etag</ExposeHeader>
</CORSRule>
</CORSConfiguration>
Configuração
Para configurar o objectstore, consulte Configuração do Objectstore externo.
Como os contêineres são criados no escopo da Conta de Armazenamento do Azure, é recomendável ter um contêiner separado para cada serviço.
Da mesma forma, no AWS, é altamente recomendável ter um bucket dedicado para cada serviço instalado no Automation Suite . No entanto, se o bucket for criado globalmente, você poderá enfrentar limitações para fornecer o bucket dedicado para cada serviço. Nesse caso, você pode configurar um único bucket e usá-lo para todos os fins.
O instalador do Automation Suite oferece suporte à criação de contêineres/buckets se você fornecer permissões make . Ou então, você pode provisionar os contêineres/buckets necessários antes da instalação e suas informações para o instalador.
Buckets necessários para o Integration Service
Em uma instalação do AKS, você deve criar vários buckets de armazenamento de blobs no Armazenamento do Azure. Essa etapa não é necessária em uma instalação EKS, que usa buckets únicos.
Você deve criar os seguintes buckets manualmente antes da instalação:
gallupx-poller-datagallupx-job-engine-stategallupx-notification-objectsgallupx-webhookgallupx-execution-trace
Requisitos de armazenamento
- Objectstore: 500 GB
O tamanho do objectstore depende do tamanho da automação implantada e em execução. Portanto, pode ser um desafio fornecer uma estimativa precisa do objectstore inicialmente durante a instalação. Você pode começar com um tamanho de objectstore de 350 GB a 500 GB. Para entender o uso do objectstore, consulte Estimativa de armazenamento para cada componente do Automation Suite.
- À medida que sua automação escala, você pode precisar considerar o aumento no tamanho de seu objectstore.
Armazenamento de blocos
O armazenamento em bloco deve ter drivers CSI configurados com as classes de armazenamento do Kubernetes.
A tabela a seguir fornece detalhes do armazenamento de blocos, classe de armazenamento e provisionador:
| Nuvem/Kubernetes | Armazenamento | ClasseDeArmazenamento | Provisionador |
|---|---|---|---|
| AWS | Volumes de EBS | ebs-sc | ebs.csi.aws.com |
| Azure | Disco de gerenciamento do Azure | managed-premiumDisco LRS Premium | disk.csi.azure.com |
Configuração
Você pode seguir os guias oficiais da AWS e do Azure para criar uma classe de armazenamento em seus clusters EKS e AKS.
Você deve passar o nome da classe de armazenamento que você criou para seu cluster para o parâmetro storage_class no arquivo input.json .
- Às vezes, o cluster EKS ou AKS instala o driver CSI e fornece a classe de armazenamento. Se essas classes de armazenamento não estiverem configuradas, você deve configurá-las antes da instalação do Automation Suite.
- Você deve tornar a classe de armazenamento para o armazenamento de blocos a padrão, conforme mostrado no exemplo a seguir.
Exemplo
O seguinte exemplo mostra como configurar a classe de armazenamento e como fornecê-la ao arquivo input.json durante a instalação:
| Configuração | input.json | StorageClass |
|---|---|---|
| Azure |
|
|
| AWS |
|
|
Requisitos de armazenamento
- Armazenamento em bloco: 50 GB
O tamanho do armazenamento de blocos depende do tamanho da automação implantada e em execução. Portanto, pode ser difícil fornecer uma estimativa precisa inicialmente durante a instalação. Você pode começar com um tamanho de armazenamento em bloco de 50 GB. Para entender o uso do armazenamento de blocos, consulte Estimativa de armazenamento para cada componente do Automation Suite.
À medida que sua automação escala, pode ser necessário levar em consideração o aumento no tamanho do armazenamento de blocos.
Armazenamento de arquivos
O armazenamento de arquivos deve ter drivers CSI configurados com as classes de armazenamento do Kubernetes.
A tabela a seguir fornece detalhes do armazenamento de arquivos, classe de armazenamento e provisionador:
| Nuvem/Kubernetes | Armazenamento | ClasseDeArmazenamento | Provisionador |
|---|---|---|---|
| AWS | EFS | efs-sc | efs.csi.aws.com |
| Azure | Arquivos do Azure | azurefile-csi-premium | file.csi.azure.com |
- Use a classe de armazenamento
azurefile-csi-premiumpara o Studio Web no AKS. - É recomendável configurar o ZRS (ou replicação) para o armazenamento do Studio Web para garantir alta disponibilidade.
- Os discos de nós de trabalho devem ter pelo menos 2300 IOPS, e o StorageCluster deve ser configurado usando o Perfil de Desempenho e o Perfil de SKU com um mínimo de 5000 IOPS.
Configuração
Você pode seguir os guias oficiais da AWS e do Azure para criar uma classe de armazenamento em seus clusters EKS e AKS.
Você deve passar o nome da classe de armazenamento que você criou para seu cluster para o parâmetro storage_class_single_replica no arquivo input.json .
Às vezes, o cluster EKS ou AKS instala o driver CSI e fornece a classe de armazenamento. Se essa classe de armazenamento não estiver configurada, você deve configurá-la antes da instalação do Automation Suite.
Exemplo
O exemplo a seguir mostra como configurar a classe de armazenamento e como fornecê-la a input.json durante a instalação:
| Configuração | input.json | StorageClass |
|---|---|---|
| Azure |
|
|
| Azure |
|
|
| AWS |
|
Substitua |
| AWS |
|
Substitua |
A classe de armazenamento para o compartilhamento de arquivos deve ter as permissões necessárias definidas como 700 para o diretório e arquivos. Além disso, UID e GID devem ser definidos como 1000 no Azure, e gidRangeStart e gidRangeEnd como 1000 e 2000, respectivamente, na AWS.
Requisitos de armazenamento
- Armazenamento de arquivo: 510 GB
O tamanho do armazenamento de arquivos depende do tamanho da automação implantada e em execução. Portanto, pode ser um desafio fornecer uma estimativa real inicialmente, durante a instalação. No entanto, você deve esperar que aproximadamente 510 GB de armazenamento sejam suficientes para executar dez pipelines de treinamento simultâneos e para o Automation Suite Robots. Para entender o uso do filestore, consulte Estimativa de armazenamento para cada componente do Automation Suite.
À medida que sua automação escala, talvez você precise considerar um aumento no tamanho do seu armazenamento de arquivos.
Filas
Você deve criar manualmente as seguintes filas em seu provedor de nuvem antes da instalação. Essas filas são necessárias para suportar eventos e webhooks.
gallupx-debug-engine-tasksgallupx-engine-tasksgallupx-cron-tasksgallupx-tick-tasksgallupx-event-tasksgallupx-notification-tasksgallupx-webhook-engine-tasksgallupx-fps-engine-tasks
Para o Automation Suite no EKS, você deve adicionar manualmente um prefixo específico às filas, conforme mostrado nos seguintes exemplos:
<queuePrefix>-gallupx-debug-engine-tasks<queuePrefix>-gallupx-engine-tasks<queuePrefix>-gallupx-cron-tasks<queuePrefix>-gallupx-tick-tasks<queuePrefix>-gallupx-event-tasks<queuePrefix>-gallupx-notification-tasks<queuePrefix>-gallupx-webhook-engine-tasks<queuePrefix>-gallupx-fps-engine-tasks
O valor queuePrefix deve corresponder ao valor do parâmetro queue_prefix obrigatório usado no EKS input.json.
Se você usar o Amazon Simple Queue Service (SQS), precisará criar oito filas adicionais de letras inativas (DLQs). Você precisa associar cada DLQ à sua fila primária correspondente.
Você precisa configurar cada fila, exceto gallupx-engine-tasks com as seguintes configurações:
- Período de retenção de mensagem: 14 dias
- Tamanho máximo da mensagem: 256 kB
- Fila de mensagens inativas: habilitado
- Tempo limite de visibilidade padrão: 30 segundos
Você precisa configurar a fila gallupx-engine-tasks com as mesmas configurações, exceto:
- Tempo limite de visibilidade padrão: 15 minutos
Você deve ter 18 filas no total, nove filas primárias e nove filas de dados não assistidos associadas, conforme mostrado no exemplo a seguir:
prefix-gallupx-core
prefix-gallupx-core-deadletter
prefix-gallupx-cron-tasks
prefix-gallupx-cron-tasks-deadletter
prefix-gallupx-debug-engine-tasks
prefix-gallupx-debug-engine-tasks-deadletter
prefix-gallupx-engine-tasks
prefix-gallupx-engine-tasks-deadletter
prefix-gallupx-event-tasks
prefix-gallupx-event-tasks-deadletter
prefix-gallupx-fps-engine-tasks
prefix-gallupx-fps-engine-tasks-deadletter
prefix-gallupx-notification-tasks
prefix-gallupx-notification-tasks-deadletter
prefix-gallupx-tick-tasks
prefix-gallupx-tick-tasks-deadletter
prefix-gallupx-webhook-engine-tasks
prefix-gallupx-webhook-engine-tasks-deadletter
prefix-gallupx-core
prefix-gallupx-core-deadletter
prefix-gallupx-cron-tasks
prefix-gallupx-cron-tasks-deadletter
prefix-gallupx-debug-engine-tasks
prefix-gallupx-debug-engine-tasks-deadletter
prefix-gallupx-engine-tasks
prefix-gallupx-engine-tasks-deadletter
prefix-gallupx-event-tasks
prefix-gallupx-event-tasks-deadletter
prefix-gallupx-fps-engine-tasks
prefix-gallupx-fps-engine-tasks-deadletter
prefix-gallupx-notification-tasks
prefix-gallupx-notification-tasks-deadletter
prefix-gallupx-tick-tasks
prefix-gallupx-tick-tasks-deadletter
prefix-gallupx-webhook-engine-tasks
prefix-gallupx-webhook-engine-tasks-deadletter
Backup e restauração
Para fazer backup do cluster do Automation Suite , você precisa de um objectstore adicional para fazer backup da configuração do cluster e dos dados do usuário.
A tabela a seguir descreve o armazenamento compatível para o backup:
| Kubernetes | Armazenamento de objeto |
|---|---|
| EKS | AWS S3 |
| AKS | Conta do Azure Storage |
Um objectstore separado é recomendado para armazenar o backup.
Autenticação de armazenamento
Acesso baseado em identidade de carga de trabalho à sua conta de armazenamento do AKS
Para obter informações gerais sobre identidade de carga de trabalho, consulte Configuração de identidade de carga de trabalho.
Para configurar sua conta de armazenamento para usar a identidade da carga de trabalho, execute os seguintes comandos:
az role assignment create --assignee $userAssignedManagedIdentityObjectId --role "Storage Account Contributor" --scope "/subscriptions/$($infraJson.subscription_id)/resourceGroups/$(TARGET_RG)/providers/Microsoft.Storage/storageAccounts/$(STORAGE_ACCOUNT_NAME)"
az role assignment create --assignee $userAssignedManagedIdentityObjectId --role "Storage Blob Data Owner" --scope "/subscriptions/$($infraJson.subscription_id)/resourceGroups/$(TARGET_RG)/providers/Microsoft.Storage/storageAccounts/$(STORAGE_ACCOUNT_NAME)"
az role assignment create --assignee $userAssignedManagedIdentityObjectId --role "Storage Queue Data Contributor" --scope "/subscriptions/$($infraJson.subscription_id)/resourceGroups/$(TARGET_RG)/providers/Microsoft.Storage/storageAccounts/$(STORAGE_ACCOUNT_NAME)"
az role assignment create --assignee $userAssignedManagedIdentityObjectId --role "Storage Account Contributor" --scope "/subscriptions/$($infraJson.subscription_id)/resourceGroups/$(TARGET_RG)/providers/Microsoft.Storage/storageAccounts/$(STORAGE_ACCOUNT_NAME)"
az role assignment create --assignee $userAssignedManagedIdentityObjectId --role "Storage Blob Data Owner" --scope "/subscriptions/$($infraJson.subscription_id)/resourceGroups/$(TARGET_RG)/providers/Microsoft.Storage/storageAccounts/$(STORAGE_ACCOUNT_NAME)"
az role assignment create --assignee $userAssignedManagedIdentityObjectId --role "Storage Queue Data Contributor" --scope "/subscriptions/$($infraJson.subscription_id)/resourceGroups/$(TARGET_RG)/providers/Microsoft.Storage/storageAccounts/$(STORAGE_ACCOUNT_NAME)"
O exemplo a seguir mostra uma configuração input.json válida para uma conta de armazenamento do Azure:
"external_object_storage": {
"enabled": true,
"storage_type": "azure",
"account_name": "storaccid5730469",
"azure_fqdn_suffix": "core.windows.net",
"use_managed_identity": false,
"use_workload_identity": true
},
"external_object_storage": {
"enabled": true,
"storage_type": "azure",
"account_name": "storaccid5730469",
"azure_fqdn_suffix": "core.windows.net",
"use_managed_identity": false,
"use_workload_identity": true
},
- Estimativa de armazenamento para cada componente do Automation Suite
- Serviços de plataforma da UiPath®
- Serviços de pacotes compartilhados
- Armazenamento de objeto
- Configuração da política CORS
- Configuração
- Requisitos de armazenamento
- Armazenamento de blocos
- Configuração
- Requisitos de armazenamento
- Armazenamento de arquivos
- Configuração
- Requisitos de armazenamento
- Filas
- Backup e restauração
- Autenticação de armazenamento
- Acesso baseado em identidade de carga de trabalho à sua conta de armazenamento do AKS