- Visão geral
- Requisitos
- Pré-instalação
- Preparação da instalação
- Instalação e configuração do service mesh
- Baixando os pacotes de instalação
- Configuração do registro compatível com OCI
- Concessão de permissões de instalação
- Instalando e configurando a ferramenta GitOps
- Implantação do Redis pelo OperatorHub
- Aplicação de configurações diversas
- Executando o uipathctl
- Instalação
- Pós-instalação
- Migração e atualização
- Atualizando o Automação Suite
- Migração de produtos independentes para o Automation Suite
- Etapa 1: restauração do banco de dados de produtos independente
- Etapa 2: atualizar o esquema do banco de dados de produtos restaurado
- Etapa 3: migração dos dados da organização do Identity de independente para o Automation Suite
- Etapa 4: backup do banco de dados da plataforma no Automation Suite
- Etapa 5: mesclando organizações no Automation Suite
- Etapa 6: atualização das strings de conexão do produto migradas
- Etapa 7: migração do Orchestrator independente
- Etapa 8: migração do Insights independente
- Etapa 9: migração do Test Manager independente
- Etapa 10: exclusão do tenant padrão
- Executando uma migração de único tenant
- Migração entre clusters do Automation Suite
- 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
- Solução de problemas
- Como coletar dados de uso de DU com objectstore (Ceph) no cluster
- Como resolver a falha de verificação de conectividade pré-requisito no OpenShift 4.16-4.18
- Como desinstalar o Automation Suite
- Como implantar o Insights em um cluster habilitado para FIPS
- Como desabilitar a habilitação automática do CDI no operador de GPU Nvidia
Guia de instalação do Automation Suite no OpenShift
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. |
| Apps | Armazenamento de objeto |
| Normalmente, o banco de dados leva aproximadamente 5 GB e um aplicativo complexo típico consome cerca de 15 Mb. |
| 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. |
Armazenamento de objeto
O Automation Suite suporta os seguintes objetos:
- Armazenamento de Blobs do Azure
- Armazenamento do AWS S3
- Objectstore compatível com S3. A OpenShift fornece o OpenShift Data Foundation, um objectstore baseado em Ceph e compatível com S3. Para instalar o OpenShift Data Foundation, consulte Introdução ao OpenShift Data Foundation.
Configuração do OpenShift Data Foundation
-
Para criar um bucket de objectstore no OpenShift Data Foundation (ODF), você deve criar um
ObjectBucketClaimpara cada bucket, correspondendo a cada produto que você planeja instalar.Importante:Ao usar o ODF como o armazenamento de objetos em versões do cluster OpenShift anteriores à 4.19, o CORS não pode ser configurado. Essa limitação pode impedir que os serviços funcionem corretamente com buckets ODF. Para garantir a compatibilidade, defina
"disable_presigned_url": trueem seu arquivoinput.json.Se você encontrar um erro ao aplicar essa configuração, consulte a seção Solução de problemas .
O exemplo a seguir mostra um
ObjectBucketClaimválido :Observação:A configuração que fornecemos no exemplo é necessária apenas se você criar os buckets no OpenShift Data Foundation.
apiVersion: objectbucket.io/v1alpha1 kind: ObjectBucketClaim metadata: name: BUCKET_NAME namespace: <uipath> spec: bucketName: BUCKET_NAME storageClassName: openshift-storage.noobaa.ioapiVersion: objectbucket.io/v1alpha1 kind: ObjectBucketClaim metadata: name: BUCKET_NAME namespace: <uipath> spec: bucketName: BUCKET_NAME storageClassName: openshift-storage.noobaa.io -
A aplicação do manifesto cria um segredo chamado
BUCKET_NAMEno namespace.<uipath>O segredo contém oaccess_keye osecret_keypara esse bucket. Para consultar oaccess_keye osecret_key, execute o seguinte comando:oc get secret BUCKET_NAME -n <uipath> -o jsonpath={.data.AWS_ACCESS_KEY_ID} | base64 -d; echo oc get secret BUCKET_NAME -n <uipath> -o jsonpath={.data.AWS_SECRET_ACCESS_KEY} | base64 -d; echooc get secret BUCKET_NAME -n <uipath> -o jsonpath={.data.AWS_ACCESS_KEY_ID} | base64 -d; echo oc get secret BUCKET_NAME -n <uipath> -o jsonpath={.data.AWS_SECRET_ACCESS_KEY} | base64 -d; echo -
Para encontrar o host ou FQDN para acessar o bucket, execute o seguinte comando:
oc get routes s3 -o jsonpath={.spec.host} -n openshift-storage; echooc get routes s3 -o jsonpath={.spec.host} -n openshift-storage; echo
O ODF inclui uma implantação do NooBaa com limites predefinidos de CPU e memória. Esses limites podem se tornar um gargalo para o Automation Suite e resultar em problemas de limite de solicitações do S3. Para mitigar esse risco, você deve configurar o ODF com limites mais altos de CPU e memória para a implantação do NooBaa. Para obter detalhes, consulte a seção Solução de problemas .
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:
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:
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.
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.
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.
- Se você usar buckets criados no OpenShift Data Foundation, deverá provisionar explicitamente os buckets e fornecer os detalhes para cada produto no arquivo
input.json. Para obter mais informações sobre como fornecer informações do bucket explicitamente no arquivoinput.json, consulte a seção Configuração específica do produto .
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-premium Disco LRS Premium | disk.csi.azure.com |
| OpenShift | OpenShift Data Foundation | ocs-storagecluster-ceph-rbd | openshift-storage.rbd.csi.ceph.com |
Não é obrigatório que você use as soluções de armazenamento mencionadas nesta seção. Se você usar uma solução de armazenamento diferente, deverá usar o StorageClass correspondente que seu fornecedor de armazenamento fornecer.
Configuração
Você pode seguir o guia oficial da Red Hat para criar uma classe de armazenamento em seu cluster do OpenShift.
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 .
- No OpenShift, os drivers CSI são instalados automaticamente e a classe de armazenamento é criada durante a instalação do OpenShift Data Foundation. 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 | ClasseDeArmazenamento |
|---|---|---|
| Azure | | |
| AWS | | |
| OpenShift | | |
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.
O armazenamento de arquivos é necessário para os componentes que não requerem qualquer replicação. No entanto, se você não tiver um sistema de arquivos, poderá substituir o armazenamento de arquivos pelo armazenamento em blocos.
A tabela a seguir descreve as opções de armazenamento de arquivos disponíveis.
| Nuvem/Kubernetes | Armazenamento | ClasseDeArmazenamento | Provisionador |
|---|---|---|---|
| AWS | EFS | efs-sc | efs.csi.aws.com |
| Azure | Arquivos do Azure | azurefile-csi-premium | file.csi.azure.com |
| OpenShift | OpenShift Data Foundation | ocs-storagecluster-cephfs | openshift-storage.cephfs.csi.ceph.com |
Use a classe de armazenamento azurefile-csi-premium para o Studio Web no AKS. É recomendável configurar o ZRS (ou replicação) para o armazenamento do Studio Web para garantir alta disponibilidade.
Não é obrigatório que você use as soluções de armazenamento mencionadas nesta seção. Se você usar uma solução de armazenamento diferente, deverá usar o StorageClass correspondente que seu fornecedor de armazenamento fornecer.
Configuração
Você pode seguir o guia oficial da Red Hat para criar uma classe de armazenamento em seu cluster do OpenShift.
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 .
No OpenShift, os drivers CSI são instalados automaticamente e a classe de armazenamento é criada durante a instalação do OpenShift Data Foundation. Se a 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 |
|
|
|---|---|---|
| Azure | | |
| AWS | | Substitua |
| OpenShift | | |
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 | Requisito |
|---|---|
| Armazenamento de arquivos | 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.
- Estimativa de armazenamento para cada componente do Automation Suite
- Serviços de plataforma da UiPath®
- Armazenamento de objeto
- Configuração do OpenShift Data Foundation
- 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