automation-suite
2023.10
false
UiPath logo, featuring letters U and I in white
EKS/AKS 上的 Automation Suite 安装指南
Last updated 2024年11月21日

存储

除了 Microsoft SQL Server 外,Automation Suite 集群还需要一个存储组件来存储文件。 Automation Suite 是否需要对象存储和块/文件存储,具体取决于您选择的服务类型。

每个 Automation Suite 组件的存储空间估计值

UiPath™ Platform 服务

以下服务需要存储组件。 仅当您选择在 Automation Suite 安装过程中或更高版本中启用它们时,才需要使用这些功能。

服务

存储类型

用途

估计

Orchestrator

对象存储

  • 用于已部署自动化的 NuGet 自动化包

  • 队列及其数据

通常,一个包为 5 Mb,而存储桶(如果有)小于 1 Mb。 一个成熟的 Enterprise 部署大约 10 GB 的包和 12 GB 的队列。

Action Center

对象存储

  • 用户在文档任务中存储的文档

通常情况下,一个文档需要 0.15 Mb,要填写的表单会额外占用 0.15 Kb。 在成熟的企业中,总计可达到 4 GB。

Test Manager

对象存储

  • 用户存储的附件和屏幕截图

通常,所有文件和附件总计约为 5 GB。

Insights

Blockstore

  • 已发布的仪表板及其元数据

启用需要 2 GB,存储占用空间会随着数量的增加而增加。 完善的 Enterprise规模部署还需要几个 GB 的所有仪表板。 大约 10GB 的存储空间就足够了。

Apps

对象存储

  • 上传到 Apps 的附件

通常,数据库大约需要 5 GB,典型的复杂应用程序消耗大约 15 Mb。

AI Center

对象存储/文件存储

  • ML 包

  • 用于分析的数据集

  • 训练管道

典型的已建立安装将消耗 8 GB 的空间(安装五个包)和额外的 1 GB 的数据集。

管道可能会额外消耗 50GB 的块存储,但前提是处于主动运行状态。

Document Understanding

对象存储

  • ML 模型

  • OCR 模型

  • 已存储的文档

在成熟部署中,12GB 用于 ML 模型,17GB 用于 OCR,50GB 用于存储的所有文档。

Task Mining

对象存储

  • 分析和建议自动化模式需要用户活动数据。

应分析约 200 GB 的活动日志数据,以建议有意义的自动化。 但是,高度重复的任务可能需要更少的数据。

Automation Suite 机器人

文件存储

  • 缓存运行自动化所需的包

通常,成熟的 Enterprise 会部署大约 10 GB 的包。

Process Mining

对象存储

  • 在 SQL 仓库中运行查询所需的 SQL 文件

最小占用空间仅用于存储 SQL 文件。 一开始,大约 1 GB 的存储空间就足够了。

共享套件服务

以下共享套件服务需要存储组件。 仅当您选择将它们作为 Automation Suite 安装的一部分进行安装时,才需要这些组件。

服务

存储类型

用途

估计

监控

块存储

Kubernetes 和基础架构相关指标数据

大约 100 GB,用于存储过去十天的监控数据

日志记录

块存储

应用程序运行日志

大约 20 GB 用于保留前几天的日志

对象存储

Automation Suite 支持以下对象存储:

Kubernetes

对象存储

支持的身份验证

EKS

Amazon S3

  • AWS 实例配置文件

  • 访问密钥和密钥

AKS

Azure 存储 (Blob)

  • 帐户密钥

此外,如果您在使用 Automation Suite 集群进行 S3 连接期间遇到任何与 CORS 相关的错误,则可能必须在存储帐户/存储桶级别启用以下 CORS 策略。

确保在以下 CORS 策略中将 {{fqdn}} 替换为 Automation Suite 集群的 FQDN。

这是 JSON 格式的 CORS 策略:

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
    }
]

这是 XML 格式的 CORS 策略:

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>

配置

要配置对象存储,请参阅外部对象存储配置

备注:

由于容器是在 Azure 存储帐户的范围内创建的,因此建议为每项服务设置一个单独的容器。

同样,在 AWS 中,强烈建议为 Automation Suite 上安装的每项服务设置一个专用存储桶。 但是,如果存储桶是全局创建的,则在为每项服务提供专用存储桶时可能会遇到限制。 在这种情况下,您可以配置单个存储桶并将其用于所有目的。

如果您提供 make 权限,则 Automation Suite 安装程序支持创建容器/存储桶。 或者,您可以在安装之前配置所需的容器/存储桶并将其信息配置给安装程序。

存储要求

存储

要求

对象存储

500 GB

对象存储的大小取决于已部署和正在运行的自动化的大小。 因此,在安装过程最初提供准确的对象存储估计值可能具有挑战性。 您可以从大小为 350 GB 到 500 GB 的对象存储开始。 要了解对象存储的使用情况,请参阅每个 Automation Suite 组件的存储预计值

备注:
  • 随着自动化的扩展,您可能需要考虑对象存储大小的增加。

块存储

块存储必须具有配置有 Kubernetes 存储类的 SCSI 驱动程序。

下表提供了有关块存储、存储类和配置程序的详细信息:

云/Kubernetes

存储

存储类

配置程序

AWS

EBS 卷

ebs-sc

ebs.csi.aws.com

Azure

Azure 管理磁盘

managed-premium

高级 LRS 磁盘

disk.csi.azure.com

配置

您可以按照AWSAzure的官方指南在 EKS 和 AKS 集群中创建存储类。

您必须将为集群创建的存储类的名称传递给 input.json 文件中的 storage_class 参数。
备注:
  • 有时,EKS 或 AKS 集群会安装 CSI 驱动程序并提供存储类。 如果未配置这些存储类,则必须在安装 Automation Suite 之前配置它们。

  • 您必须将块存储的存储类设为默认存储类,如以下示例所示。

示例

以下示例显示了如何配置存储类以及如何在安装过程中将其提供给input.json文件:

配置

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

存储要求

配置

要求

块存储

50 GB

块存储的大小取决于已部署和正在运行的自动化的大小。 因此,在安装最初过程中提供准确的估计值可能具有挑战性。 您可以从大小为 50 GB 的块存储开始。 要了解块存储的使用情况,请参阅每个 Automation Suite 组件的存储预计值

注意: 随着自动化的扩展,您可能需要考虑块存储大小的增加。

文件存储

文件存储必须具有使用 Kubernetes 存储类配置的 SCSI 驱动程序。

云/Kubernetes

存储

存储类

配置程序

AWS

EFS

efs-sc

efs.csi.aws.com

Azure

Azure 文件

azurefile-csi-premium *

file.csi.azure.com

* 对 AKS 上的 Studio Web 使用azurefile-csi-premium存储类。

配置

您可以按照AWSAzure的官方指南在 EKS 和 AKS 集群中创建存储类。

您必须将为集群创建的存储类的名称传递给 input.json 文件中的 storage_class_single_replica 参数。
备注:

有时,EKS 或 AKS 集群会安装 CSI 驱动程序并提供存储类。 如果未配置此存储类,则必须在安装 Automation Suite 之前进行配置。

示例

以下示例显示了如何配置存储类以及如何在安装过程中将其提供给 input.json

配置

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
备注:
$(EFS_ID) 替换为您在配置基础架构时创建的实际文件共享 ID。
备注:

文件共享的存储类必须将目录和文件的必需权限设置为 700。

此外,在 Azure 中, UIDGID 必须设置为 1000,在 AWS 中, gidRangeStartgidRangeEnd 必须分别设置为 1000 和 2000。

存储要求

存储

要求

文件存储

510 GB

文件存储的大小取决于已部署和正在运行的自动化的大小。 因此,在安装过程中最初提供实际估计值可能具有挑战性。 但是,大约 510 GB 的存储大小应该足够运行十个并发训练管道和 Automation Suite Robot。 要了解文件存储的使用情况,请参阅每个 Automation Suite 组件的存储预计值

备注:

随着自动化的扩展,您可能需要考虑文件存储大小的增加。

备份和还原

要备份 Automation Suite 集群,您需要额外的对象存储来备份集群配置和用户数据。

下表描述了支持的备份存储:

Kubernetes

对象存储

EKS

AWS S3

AKS

Azure 存储帐户

备注:

建议使用单独的对象存储来存储备份。

此页面有帮助吗?

获取您需要的帮助
了解 RPA - 自动化课程
UiPath Community 论坛
Uipath Logo White
信任与安全
© 2005-2024 UiPath。保留所有权利。