automation-suite
2024.10
true
Importante :
A tradução automática foi aplicada parcialmente neste conteúdo. A localização de um conteúdo recém-publicado pode levar de 1 a 2 semanas para ficar disponível.
UiPath logo, featuring letters U and I in white

Guia de instalação do Automation Suite no OpenShift

Última atualização 16 de mai de 2025

Armazenamento

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

  • Pacotes de automação NuGet para automação implantada

  • Filas e seus dados

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

  • Documentos armazenados pelo usuário em tarefas de documentos

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

  • Anexos e capturas de tela armazenados pelos usuários

Normalmente, todos os arquivos e anexos somam aproximadamente 5 Gb.

Insights

Blockstore

  • Painéis publicados e seus metadados

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

  • Anexos que são carregados no Apps

Normalmente, o banco de dados leva aproximadamente 5 GB e um aplicativo complexo típico consome cerca de 15 Mb.

AI Center

Objectstore/Filestore

  • Pacotes de ML

  • Conjuntos de dados para análise

  • Pipelines de treinamento

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

  • Modelo de ML

  • Modelo OCR

  • Documentos armazenados

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

  • Armazenar em cache os pacotes necessários para executar uma automação

Normalmente, uma empresa madura implanta cerca de 10 GB de pacotes.

Process Mining

Armazenamento de objeto

  • Arquivos SQL que são necessários para executar consultas no SQL warehouse

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. O OpenShift fornece o OpenShift Data Foundation, um objectstore compatível com S3 baseado no Ceph. Para instalar o OpenShift Data Foundation, consulte Introdução ao OpenShift Data Foundation.

Configuração do OpenShift Data Foundation

  1. Para criar um bucket do objectstore no OpenShift Data Foundation, você deve criar um ObjectBucketClaim para cada bucket, correspondendo a cada produto que você planeja instalar. O exemplo a seguir mostra um ObjectBucketClaim vá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
  2. A aplicação do manifesto cria um segredo chamado BUCKET_NAME no namespace. <uipath> O segredo contém o access_key e o secret_key para esse bucket. Para consultar o access_key e o secret_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
  3. 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

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

Armazenamento

Requisito

Armazenamento de objeto

500 GB

O tamanho do objectstore depende do tamanho da automação implantada e em execução. Portanto, pode ser difícil 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.

Observação:
  • À 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 arquivo input.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

Observação:
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 .
Observação:
  • 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.jsonStorageClass

Azure

{
  "storage_class": "managed_premium"
}{
  "storage_class": "managed_premium"
}
allowVolumeExpansion: true
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  creationTimestamp: "2023-06-15T09:34:17Z"
  labels:
    addonmanager.kubernetes.io/mode: EnsureExists
    kubernetes.io/cluster-service: "true"
    storageclass.kubernetes.io/is-default-class: "true"
  name: managed-premium
parameters:
  cachingmode: ReadOnly
  kind: Managed
  storageaccounttype: Premium_LRS
provisioner: disk.csi.azure.com
reclaimPolicy: Delete
volumeBindingMode: WaitForFirstConsumerallowVolumeExpansion: true
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  creationTimestamp: "2023-06-15T09:34:17Z"
  labels:
    addonmanager.kubernetes.io/mode: EnsureExists
    kubernetes.io/cluster-service: "true"
    storageclass.kubernetes.io/is-default-class: "true"
  name: managed-premium
parameters:
  cachingmode: ReadOnly
  kind: Managed
  storageaccounttype: Premium_LRS
provisioner: disk.csi.azure.com
reclaimPolicy: Delete
volumeBindingMode: WaitForFirstConsumer

AWS

{
  "storage_class": "ebs-sc"
}{
  "storage_class": "ebs-sc"
}
allowVolumeExpansion: true
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: ebs-sc
  annotations:
   storageclass.kubernetes.io/is-default-class: "true"
provisioner: ebs.csi.aws.com
reclaimPolicy: Delete
volumeBindingMode: WaitForFirstConsumerallowVolumeExpansion: true
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: ebs-sc
  annotations:
   storageclass.kubernetes.io/is-default-class: "true"
provisioner: ebs.csi.aws.com
reclaimPolicy: Delete
volumeBindingMode: WaitForFirstConsumer

OpenShift

{
  "storage_class": "ocs-storagecluster-ceph-rbd"
}{
  "storage_class": "ocs-storagecluster-ceph-rbd"
}
kind: StorageClass
apiVersion: storage.k8s.io/v1
metadata:
  name: ocs-storagecluster-ceph-rbd
  annotations:
    description: 'Provides RWO Filesystem volumes, and RWO and RWX Block volumes'
    storageclass.kubernetes.io/is-default-class: "true"
provisioner: openshift-storage.rbd.csi.ceph.com
parameters:
  csi.storage.k8s.io/fstype: ext4
  csi.storage.k8s.io/provisioner-secret-namespace: openshift-storage
  csi.storage.k8s.io/provisioner-secret-name: rook-csi-rbd-provisioner
  csi.storage.k8s.io/node-stage-secret-name: rook-csi-rbd-node
  csi.storage.k8s.io/controller-expand-secret-name: rook-csi-rbd-provisioner
  csi.storage.k8s.io/controller-expand-secret-namespace: openshift-storage
  pool: ocs-storagecluster-cephblockpool
  csi.storage.k8s.io/node-stage-secret-namespace: openshift-storage
reclaimPolicy: Delete
allowVolumeExpansion: true
volumeBindingMode: Immediatekind: StorageClass
apiVersion: storage.k8s.io/v1
metadata:
  name: ocs-storagecluster-ceph-rbd
  annotations:
    description: 'Provides RWO Filesystem volumes, and RWO and RWX Block volumes'
    storageclass.kubernetes.io/is-default-class: "true"
provisioner: openshift-storage.rbd.csi.ceph.com
parameters:
  csi.storage.k8s.io/fstype: ext4
  csi.storage.k8s.io/provisioner-secret-namespace: openshift-storage
  csi.storage.k8s.io/provisioner-secret-name: rook-csi-rbd-provisioner
  csi.storage.k8s.io/node-stage-secret-name: rook-csi-rbd-node
  csi.storage.k8s.io/controller-expand-secret-name: rook-csi-rbd-provisioner
  csi.storage.k8s.io/controller-expand-secret-namespace: openshift-storage
  pool: ocs-storagecluster-cephblockpool
  csi.storage.k8s.io/node-stage-secret-namespace: openshift-storage
reclaimPolicy: Delete
allowVolumeExpansion: true
volumeBindingMode: Immediate

Requisitos de armazenamento

Configuração

Requisito

Armazenamento de blocos

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.

Observação: à medida que sua automação escala, pode ser necessário considerar 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.

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

* Usar a classe de armazenamento azurefile-csi-premium para o Studio Web no AKS.

* Recomenda-se configurar o ZRS (ou replicação) para o armazenamento do Studio Web para garantir a alta disponibilidade.

Observação:
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 .
Observação:

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

input.json

StorageClass

Azure

{
  "storage_class_single_replica": "azurefile-csi-premium"
}{
  "storage_class_single_replica": "azurefile-csi-premium"
}
allowVolumeExpansion: true
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  labels:
    addonmanager.kubernetes.io/mode: EnsureExists
    kubernetes.io/cluster-service: "true"
  name: azurefile-csi
mountOptions:
- mfsymlinks
- actimeo=30
- nosharesock
- dir_mode=0700
- file_mode=0700
- uid=1000
- gid=1000
- nobrl
- cache=none
parameters:
  skuName: Standard_LRS
provisioner: file.csi.azure.com
reclaimPolicy: Delete
volumeBindingMode: ImmediateallowVolumeExpansion: true
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  labels:
    addonmanager.kubernetes.io/mode: EnsureExists
    kubernetes.io/cluster-service: "true"
  name: azurefile-csi
mountOptions:
- mfsymlinks
- actimeo=30
- nosharesock
- dir_mode=0700
- file_mode=0700
- uid=1000
- gid=1000
- nobrl
- cache=none
parameters:
  skuName: Standard_LRS
provisioner: file.csi.azure.com
reclaimPolicy: Delete
volumeBindingMode: Immediate

AWS

{
  "storage_class_single_replica": "efs-sc"
}{
  "storage_class_single_replica": "efs-sc"
}
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: efs-sc
parameters:
  basePath: /dynamic_provisioning
  directoryPerms: "700"
  fileSystemId: $(EFS_ID)
  gidRangeEnd: "2000"
  gidRangeStart: "1000"
  provisioningMode: efs-ap
provisioner: efs.csi.aws.com
reclaimPolicy: Delete
volumeBindingMode: ImmediateapiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: efs-sc
parameters:
  basePath: /dynamic_provisioning
  directoryPerms: "700"
  fileSystemId: $(EFS_ID)
  gidRangeEnd: "2000"
  gidRangeStart: "1000"
  provisioningMode: efs-ap
provisioner: efs.csi.aws.com
reclaimPolicy: Delete
volumeBindingMode: Immediate
Observação:
Substitua $(EFS_ID) pelo ID do compartilhamento de arquivos real que você criou ao provisionar a infraestrutura.

OpenShift

{
  "storage_class_single_replica": "ocs-storagecluster-cephfs"
}{
  "storage_class_single_replica": "ocs-storagecluster-cephfs"
}
kind: StorageClass
apiVersion: storage.k8s.io/v1
metadata:
  name: ocs-storagecluster-cephfs
  annotations:
    description: Provides RWO and RWX Filesystem volumes
provisioner: openshift-storage.cephfs.csi.ceph.com
parameters:
  clusterID: openshift-storage
  csi.storage.k8s.io/controller-expand-secret-name: rook-csi-cephfs-provisioner
  csi.storage.k8s.io/controller-expand-secret-namespace: openshift-storage
  csi.storage.k8s.io/node-stage-secret-name: rook-csi-cephfs-node
  csi.storage.k8s.io/node-stage-secret-namespace: openshift-storage
  csi.storage.k8s.io/provisioner-secret-name: rook-csi-cephfs-provisioner
  csi.storage.k8s.io/provisioner-secret-namespace: openshift-storage
  fsName: ocs-storagecluster-cephfilesystem
reclaimPolicy: Delete
allowVolumeExpansion: true
volumeBindingMode: Immediatekind: StorageClass
apiVersion: storage.k8s.io/v1
metadata:
  name: ocs-storagecluster-cephfs
  annotations:
    description: Provides RWO and RWX Filesystem volumes
provisioner: openshift-storage.cephfs.csi.ceph.com
parameters:
  clusterID: openshift-storage
  csi.storage.k8s.io/controller-expand-secret-name: rook-csi-cephfs-provisioner
  csi.storage.k8s.io/controller-expand-secret-namespace: openshift-storage
  csi.storage.k8s.io/node-stage-secret-name: rook-csi-cephfs-node
  csi.storage.k8s.io/node-stage-secret-namespace: openshift-storage
  csi.storage.k8s.io/provisioner-secret-name: rook-csi-cephfs-provisioner
  csi.storage.k8s.io/provisioner-secret-namespace: openshift-storage
  fsName: ocs-storagecluster-cephfilesystem
reclaimPolicy: Delete
allowVolumeExpansion: true
volumeBindingMode: Immediate
Observação:

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 difícil fornecer uma estimativa real inicialmente, durante a instalação. No entanto, você deve esperar que aproximadamente 510 GB de tamanho de armazenamento seja suficiente para executar dez pipelines de treinamento simultâneos e para os Automation Suite Robots. Para entender o uso do armazenamento de arquivos, consulte Estimativa de armazenamento para cada componente do Automation Suite.

Observação:

À medida que sua automação escala, talvez você precise considerar um aumento no tamanho do seu armazenamento de arquivos.

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-2025 UiPath. Todos os direitos reservados.