automation-suite
2022.10
false
重要 :
请注意此内容已使用机器翻译进行了部分本地化。 新发布内容的本地化可能需要 1-2 周的时间才能完成。
UiPath logo, featuring letters U and I in white

Automation Suite 安装指南

上次更新日期 2024年12月16日

手动:高级安装体验

cluster_config.json 文件定义应用于通过 Automation Suite 部署的 UiPath 产品的参数、设置和首选项。您必须更新此文件以更改默认值,并为集群使用任何高级配置。
要编辑 cluster_config.json,您可以使用以下任一方法:
  • a 通过 SSH 直接在 Linux 计算机上使用 Linux 文本编辑器,例如 vi 或 GNU nano(例如,命令:vi cluster_config.json);
  • 使用您喜欢的文本编辑器,然后将文件复制粘贴到计算机上。
cluster_config.json 文件允许您配置要部署的 UiPath 产品。请注意,产品可能具有依赖项。有关详细信息,请参阅跨产品依赖项
要通过 cluster_config.json 文件启用或禁用产品,请对 enabled 标志使用 truefalse

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

常规配置

必填参数

描述

fqdn

负载均衡器(多节点 HA 就绪生产模式)或计算机(单节点评估模式)域名。

fixed_rke_address

用于对节点注册和 kube API 请求进行负载均衡的固定地址。如果按照建议配置负载均衡器,则此字段应为 fqdn。否则为第一个服务器节点的 FQDN。请参阅配置负载均衡器

可以是设置中第一个 rke2 服务器的 IP/FQDN。

multinode

选择多节点 HA 就绪生产配置文件时,设置为 true此标志的值由交互式安装程序自动设置。它仅用于内部目的,不应手动修改。

admin_username

您要为主机组织设置为 admin 的用户名(例如:admin)。

admin_password

要设置的主机管理员密码。

rke_token

在此处使用新生成的 GUID。这是一个预共享的、特定于集群的密码。加入集群的所有节点都需要它。

profile

设置安装的配置文件。可用的配置文件包括:

  • default:单节点评估配置文件。
  • ha:多节点 HA 就绪生产配置文件。

此标志的值由交互式安装程序自动设置。它仅用于内部目的,不应手动修改。

infra.docker_registry.username

您要为 Docker 注册表安装设置的用户名。

infra.docker_registry.password

您要为 Docker 注册表安装设置的密码。

可选参数

描述

telemetry_optout

truefalse - 用于选择不将遥测数据发送回 UiPath。默认情况下,它设置为 false
如果您希望选择退出,请设置为 true

infra.pod_log_path

使您能够将 Pod 日志的 /var/log/pods 默认路径更改为您选择的自定义路径。
备注:
更新日志路径会放弃 /var/log/pods 中现有容器的日志。

证书配置

如果安装时未提供证书,则安装程序将创建自行颁发的证书并在集群中对这些证书进行配置。

自签名证书的有效期为 90 天。

有关如何获取证书的详细信息,请参阅以下内容:

备注:
请务必指定证书文件的绝对路径。 运行pwd以获取放置文件目录的路径,并将证书文件名附加到cluster_config.json中。

在多节点 HA 就绪生产安装中,仅需为第一个节点使用证书。

参数

描述

server_certificate.ca_cert_file

证书颁发机构证书的绝对路径。此证书颁发机构是对 TLS 证书进行签名的机构。CA 捆绑包必须仅包含用于对 TLS 证书进行签名的链证书。链式证书上限为九个证书。

如果您使用的是自签名证书,则需要指定先前创建的 rootCA.crt 的路径。如果要安装程序生成该路径,请留空。

server_certificate.tls_cert_file

TLS 证书的绝对路径(server.crt 是自签名证书)。如果要安装程序生成该路径,请留空。

server_certificate.tls_key_file

证书密钥的绝对路径(server.key 是自签名证书)。如果要安装程序生成该路径,请留空。

identity_certificate.token_signing_cert_file

用于对令牌进行签名的身份令牌签名证书的绝对路径(identity.pfx 是自签名证书)。如果您希望安装程序使用服务器证书生成身份证书,请留空。

identity_certificate.token_signing_cert_pass

导出身份令牌签名证书时设置的纯文本密码。

additional_ca_certs

包含其他 CA 证书的文件的绝对路径,作为 Automation Suite 的一部分运行的所有服务均会信任这些证书。文件中的所有证书均必须为有效的 PEM 格式。

例如,如果证书不是由公共证书颁发机构颁发,则需要提供包含 SQL Server CA 证书的文件。

数据库配置

数据库创建工作流

交互式安装程序使用以下工作流自动创建数据库:

  1. 交互式安装程序脚本会检查cluster_config.json文件中sql.create_db参数的值。
    • 如果sql.create_db参数设置为true ,则安装程序会代表您自动生成所有数据库。 在这种情况下,安装程序将使用默认数据库名称和默认模板,并忽略您提供的任何自定义数据库名称。

      有关详细信息,请参阅自动创建必要的数据库

    • 如果将sql.create_db设置为false ,则您必须使用自己的数据库。 在这种情况下,您必须手动设置数据库。 请注意,您可以使用自定义数据库名称,前提是遵循提供的命名约定。 此步骤至关重要,因为我们将数据库名称与连接模板结合使用来构成数据库连接字符串。 如果您不遵循建议的命名约定,则必须自己提供 SQL 连接字符串。

      有关详细信息,请参阅使用自己的数据库

  2. 交互式安装程序会生成连接字符串,如下所示:

    • 如果您没有为服务定义连接字符串,则安装程序将使用连接模板生成所有数据库连接字符串。

    • 如果您为服务定义了连接字符串,则安装程序将使用为数据库提供的连接字符串。

自动创建必要的数据库

如果您希望安装程序创建数据库,请填写以下字段:

参数

描述

sql.create_db

设置为true以允许安装程序创建数据库。 请注意,安装程序将使用默认数据库名称和默认模板,并忽略您提供的任何自定义数据库名称。

sql.server_url

您希望安装程序在其中配置数据库的 SQL Server 的 FQDN。

sql.port

SQL Server 中应托管数据库实例的端口号。

sql.username

用于连接到 SQL Server 的用户名/用户 ID。

sql.password

之前提供的用于连接到 SQL Server 的用户名密码。

备注:
确保用户具有 dbcreator 角色。这将授予他们在 SQL Server 中创建数据库的权限。否则,安装将失败。

ODBC 连接不支持包含特殊字符的用户名。对于 AI Center 和 Document Understanding 的数据库用户名,请仅使用大写和小写字母。

请自带数据库

如果您选择为新安装的 Automation Suite 使用自己的数据库,我们强烈建议设置新的数据库,而不是使用现有数据库。此预防措施有必要,以防止旧数据库中的剩余元数据与 Automation Suite 的操作发生任何冲突。

如果您有自己的数据库,则必须为每个数据库提供 SQL 连接字符串。Automation Suite 支持以下 SQL 连接字符串格式:

参数

描述

产品

sql_connection_string_template

完整的 ADO.NET 连接字符串,其中目录名称设置为 DB_NAME_PLACEHOLDER。安装程序将使用已安装的套件服务的默认数据库名称替换此占位符。

平台、Orchestrator、Automation Suite Robot、Test Manager、Automation Hub、Automation Ops、Insights、Task Mining、Data Service、Process Mining、Document Understanding

sql_connection_string_template_jdbc

完整的 JDBC 连接字符串,其中数据库名称设置为 DB_NAME_PLACEHOLDER。安装程序将使用已安装的套件服务的默认数据库名称替换此占位符。

AI Center

sql_connection_string_template_odbc

完整的 ODBC 连接字符串,其中数据库名称设置为 DB_NAME_PLACEHOLDER。安装程序将使用已安装的套件服务的默认数据库名称替换此占位符。

Document Understanding

sql_connection_string_template_sqlalchemy_pyodbc

完整的 SQL alchemy ODBC 连接字符串,其中数据库名称设置为 DB_NAME_PLACEHOLDER。安装程序将使用已安装的套件服务的默认数据库名称替换此占位符。

Process Mining

重要提示:
确保已向连接字符串中指定的 SQL 帐户授予所有 Automation Suite 数据库的 db_securityadmindb_owner 角色。如果安全限制不允许使用 db_owner,则 SQL 帐户应在所有数据库上具有以下角色和权限:
  • db_ddladmin
  • db_datawriter
  • db_datareader
  • 对 dbo 架构的 EXECUTE 权限
重要提示:

如果在配置文件中手动设置连接字符串,则可以对 SQL、JDBC、ODBC 或 PYODBC 密码进行转义,如下所示:

  • 对于 SQL:在密码的开头和结尾添加' ,并将任何其他'加倍。
  • 对于 JDBC/ODBC:在密码的开头添加{ ,在密码的末尾添加} ,并将其他任何}加倍。
  • 对于 PYODBC: usernamepassword应进行 URL 编码,以考虑特殊字符。
重要提示:Process Mining 产品的 AutomationSuite_ProcessMining_Airflow 数据库必须启用 READ_COMMITTED_SNAPSHOT
备注:
默认情况下将 TrustServerCertificate 设置为 False,并且您必须为 SQL Server 提供其他 CA 证书。如果 SQL Server 证书是自签名证书或由内部 CA 签名,则这是必要项。

有关更多详细信息,请参阅此页面上的证书配置

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;

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"

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"

Automation Suite 服务的默认和可选 DB 名称

{
  "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",
    
}
备注:
如果要覆盖上述任何服务的连接字符串,请为该特定服务设置 sql_connection_str

在运行安装程序之前,您仍然必须手动创建这些数据库。

覆盖 Orchestrator 和平台的默认连接字符串

{
  "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;"
  }
}
要覆盖其他产品的数据库连接字符串,请在相应的产品块中设置 sql_connection_str。连接字符串应具有相应产品支持的格式。

为 AI Center 设置数据库连接字符串的示例

参数

描述

aicenter.sql_connection_str

AI Center JDBC 连接字符串(有关 JDBC 格式,请参阅下文)

注意:请检查 JDBC 连接字符串是否具有以下示例中的格式。
"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"
}

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
  }
}
注意:仅当您要用自己的连接字符串覆盖默认值时,Data Manager SQL 连接字符串才为可选。

在线安装时始终启用手写功能。

max_cpu_per-pod 的默认值为 2,但您可以根据需要进行调整。有关更多信息,请查看 Document Understanding 配置文件

外部对象存储配置

常规配置

Automation Suite 允许您使用自己的外部存储提供程序。您可以从以下存储提供程序中进行选择:

  • Azure
  • AWS
  • 兼容 S3

您可以通过以下方式之一配置外部对象存储:

  • 在安装期间,使用交互式安装程序;
  • 安装后,使用 cluster_config.json 文件。
备注:
  • 为了使 Automation Suite 在使用预签名 URL 时正常运行,您必须确保可从 Automation Suite 集群、浏览器和所有计算机(包括工作站和机器人计算机)访问外部对象存储。
  • 只能在 2014 年 1 月 30 日之后创建的任何区域中部署的 Automation Suite 存储桶上启用使用密钥管理服务 (SSE-KMS) 的服务器端加密。

    SSE-KMS 功能需要纯 SignV4 API。由于与 SignV2 向后兼容,2014 年 1 月 30 日之前创建的区域不使用纯 SignV4 API。因此,SSE-KMS 仅在使用 SignV4 进行通信的区域中起作用。要了解配置各个区域的时间,请参阅 AWS 文档

下表列出了可用于配置每个外部对象存储提供程序的 cluster_config.json 参数:

参数

Azure

AWS

兼容 S3

描述

external_object_storage.enabled

available

available

available

指定是否要使用自己的对象存储。可能的值:truefalse

external_object_storage.create_bucket

available

available

available

指定是否要配置存储桶。可能的值:truefalse

external_object_storage.storage_type

available

available

available

指定要配置的存储提供程序。该值区分大小写。 可能的值:azures3
注意:许多 S3 对象存储要求将 CORS 设置为来自 Automation Suite 集群的所有流量。您必须在对象存储级别配置 CORS 策略,以允许使用集群的 FQDN。

external_object_storage.fqdn

不可用

available

available

指定 S3 服务器的 FQDN。对于 AWS 实例和非实例配置文件为必需。

external_object_storage.port

不可用

available

available

指定 S3 端口。对于 AWS 实例和非实例配置文件为必需。

external_object_storage.region

不可用

available

available

指定托管存储桶的 AWS 区域。对于 AWS 实例和非实例配置文件为必需。

external_object_storage.access_key

不可用

available

available

指定 S3 帐户的访问密钥。 仅在 AWS 非实例配置文件的情况下才需要。

external_object_storage.secret_key

不可用

available

available

指定 S3 帐户的密钥。 仅在 AWS 非实例配置文件的情况下才需要。

external_object_storage.use_instance_profile

不可用

available

available

指定是否要使用实例配置文件。AWS 身份和访问管理 (IAM) 实例配置文件可为在 Amazon Elastic Compute Cloud (EC2) 实例上运行的应用程序或服务授予对 AWS 资源的安全访问权限。如果您选择 AWS S3,则实例配置文件允许 EC2 实例与 S3 存储桶交互,而无需将显式 AWS 凭据(例如访问密钥)存储在实例上。

external_object_storage.use_managed_identity

available

不可用

不可用

将托管标识与 Azure 存储帐户结合使用。可能的值:truefalse
external_object_storage.bucket_name_prefix 1

不可用

available

available

指定存储桶名称的前缀。对于 AWS 非实例配置文件为可选。

external_object_storage.bucket_name_suffix 2

不可用

available

available

指定存储桶名称的后缀。对于 AWS 非实例配置文件为可选。

external_object_storage.account_key

available

不可用

不可用

指定 Azure 帐户密钥。仅在使用非托管标识时才需要。

external_object_storage.account_name

available

不可用

不可用

指定 Azure 帐户名称。

external_object_storage.azure_fqdn_suffix

available

不可用

不可用

指定 Azure FQDN 后缀。 可选参数。

external_object_storage.client_id

available

不可用

不可用

指定 Azure 客户端 ID。仅在使用托管标识时才需要。

1,2配置外部对象存储时,您必须遵循提供程序为 bucket_name_prefixbucket_name_suffix 提供的命名规则和约定。除此之外,后缀和前缀的总长度不得超过 25 个字符,并且您不得以连字符 (-) 作为前缀结尾或后缀开头,因为我们已经为您自动添加了字符。

特定于产品的配置

您可以使用“常规配置”部分中描述的参数来更新 Automation Suite 的常规配置。这意味着所有已安装的产品将共享相同的配置。如果要以不同方式配置一个或多个产品,可以覆盖常规配置。您只需指定要以不同方式设置外部对象存储的产品,并使用相同的参数来定义配置。请注意,所有其他已安装的产品将继续继承常规配置。

以下示例显示了如何覆盖 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>
  }
}

轮换 Process Mining 的 Blob 存储凭据

要轮换 Automation Suite 中 Process Mining 的 Blob 存储凭据,必须使用新凭据更新存储的密码。请参阅轮换 Blob 存储凭据

特定于 Orchestrator 的配置

Orchestrator 可以将机器人日志保存到 Elasticsearch 服务器。您可以在 orchestrator.orchestrator_robot_logs_elastic 部分中配置此功能。如果未提供,则系统会将机器人日志保存到 Orchestrator 的数据库中。
下表列出了 orchestrator.orchestrator_robot_logs_elastic 参数:

参数

描述

elastic_uri

应使用的 Elasticsearch 实例的地址。应以 URI 的形式提供。如已提供,则还需要用户名和密码。

elastic_auth_username

用于身份验证的 Elasticsearch 用户名。

elastic_auth_password

用于身份验证的 Elasticsearch 密码。

示例

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

Insights 特定配置

如果启用 Insights,则用户可以包含将用于发送计划电子邮件/警示电子邮件的 SMTP 服务器配置。如果未提供,计划电子邮件和警示电子邮件将不起作用。

insights.smtp_configuration 字段详细信息:

参数

描述

tls_version

有效值为 TLSv1_2TLSv1_1SSLv23如果不使用 TLS,则完全省略密钥

from_email

警示/计划电子邮件的发件人地址。

host

SMTP 服务器的主机名。

port

SMTP 服务器的端口

username

用于 SMTP 服务器身份验证的用户名。

password

用于 SMTP 服务器身份验证的密码。

示例

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

Process Mining 特定配置

如果启用 Process Mining,我们建议用户指定一个辅助 SQL Server,作为独立于主 Automation Suite SQL Server 的数据仓库。数据仓库 SQL Server 将处于高负载状态,可以在 processmining 部分中进行配置:

参数

描述

sql_connection_str

数据库设置为占位符的 DotNet 格式连接字符串: Initial Catalog=DB_NAME_PLACEHOLDER

sqlalchemy_pyodbc_sql_connection_str

用于自定义元数据位置的 Sqlalchemy PYODBC 格式连接字符串:

sqlServer:1433/DB_NAME_PLACEHOLDER

warehouse.sql_connection_str

到 Process Mining 数据仓库 SQL Server 的 DotNet 格式的 SQL 连接字符串,其中包含 dbname 的占位符:

Initial Catalog=DB_NAME_PLACEHOLDER

warehouse.sqlalchemy_pyodbc_sql_connection_str

使用 dbname 占位符到 processmining 数据仓库 SQL Server 的 Sqlalchemy PYODBC 格式的 SQL 连接字符串:

sqlServer:1433/DB_NAME_PLACEHOLDER

warehouse.master_sql_connection_str

如果安装程序通过 sql.create_db: true 设置创建数据库,则必须为 Processmining 数据仓库 SQL Server 提供 DotNet 格式的主 SQL 连接字符串。连接字符串中的数据库必须设置为 master

Process Mining 连接字符串示例

"processmining": {
    "enabled": true,
    "app_security_mode": "system_managed",
    "sql_connection_str": "Server=tcp:shared_sqlserver_fqdn,1433;Initial Catalog=AutomationSuite_ProcessMining_Metadata;Persist Security Info=False;User Id=username;Password='password';MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=True;Connection Timeout=30;Max Pool Size=100;",
    "sqlalchemy_pyodbc_sql_connection_str": "mssql+pyodbc://username:password@shared_sqlserver_fqdn:1433/AutomationSuite_Airflow?driver=ODBC+Driver+17+for+SQL+Server&TrustServerCertificate=YES&Encrypt=YES",
    "warehouse": {
      "sql_connection_str": "Server=tcp:dedicated_sqlserver_fqdn,1433;Initial Catalog=AutomationSuite_ProcessMining_Warehouse;Persist Security Info=False;User Id=username;Password='password';MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=True;Connection Timeout=30;Max Pool Size=100;",
      "sqlalchemy_pyodbc_sql_connection_str": "mssql+pyodbc://useername:password@dedicated_sqlserver_fqdn:1433/AutomationSuite_ProcessMining_Warehouse?driver=ODBC+Driver+17+for+SQL+Server&TrustServerCertificate=YES&Encrypt=YES",
      "master_sql_connection_str": "Server=tcp:dedicated_sqlserver_fqdn,1433;Initial Catalog=master;Persist Security Info=False;User Id=username;Password='password';MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=True;Connection Timeout=30;Max Pool Size=100;"
    },
    "blob_storage_account_use_presigned_uri": true
  }, "processmining": {
    "enabled": true,
    "app_security_mode": "system_managed",
    "sql_connection_str": "Server=tcp:shared_sqlserver_fqdn,1433;Initial Catalog=AutomationSuite_ProcessMining_Metadata;Persist Security Info=False;User Id=username;Password='password';MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=True;Connection Timeout=30;Max Pool Size=100;",
    "sqlalchemy_pyodbc_sql_connection_str": "mssql+pyodbc://username:password@shared_sqlserver_fqdn:1433/AutomationSuite_Airflow?driver=ODBC+Driver+17+for+SQL+Server&TrustServerCertificate=YES&Encrypt=YES",
    "warehouse": {
      "sql_connection_str": "Server=tcp:dedicated_sqlserver_fqdn,1433;Initial Catalog=AutomationSuite_ProcessMining_Warehouse;Persist Security Info=False;User Id=username;Password='password';MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=True;Connection Timeout=30;Max Pool Size=100;",
      "sqlalchemy_pyodbc_sql_connection_str": "mssql+pyodbc://useername:password@dedicated_sqlserver_fqdn:1433/AutomationSuite_ProcessMining_Warehouse?driver=ODBC+Driver+17+for+SQL+Server&TrustServerCertificate=YES&Encrypt=YES",
      "master_sql_connection_str": "Server=tcp:dedicated_sqlserver_fqdn,1433;Initial Catalog=master;Persist Security Info=False;User Id=username;Password='password';MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=True;Connection Timeout=30;Max Pool Size=100;"
    },
    "blob_storage_account_use_presigned_uri": true
  },
重要提示:
以下数据库必须使用默认服务器端口 1433
  • warehouse.sql_connection_str
  • warehouse.sqlalchemy_pyodbc_sql_connection_str
  • warehouse.master_sql_connection_str

不支持非标准 SQL Server 端口。

注意:

为 Process Mining 数据仓库 SQL Server 配置连接字符串时,应省略 SQL Server 的命名实例。

SQL Server 命名实例不能在同一 TCP 端口上运行。 因此,仅端口号就足以区分实例。

例如,使用 tcp:server,1433 代替 tcp:server\namedinstance,1433

Automation Suite Robot 特定配置

Automation Suite Robot 可以使用包缓存来优化流程运行,并使其运行速度更快。NuGet 包从文件系统获取,而不是从 Internet/网络下载。这需要至少 10GiB 的额外空间,并且应分配给专用节点的主机文件系统上的文件夹。

要启用包缓存,您需要更新以下cluster_config.json参数:

参数

默认值

描述

packagecaching

true

设置为 true 时,机器人使用本地缓存进行包解析。

packagecachefolder

/uipath_asrobots_package_cache

存储包的无服务器代理节点上的磁盘位置。

AI Center 特定配置

为使 AI Center 正常运行,您必须在cluster_config.json文件中配置aicenter.external_object_storage.portaicenter.external_object_storage.fqdn参数。
注意:即使已配置文件的external_object_storage部分,您也必须在cluster_config.json文件的aicenter部分中配置参数。
以下示例显示了 AI Center 的有效cluster_config.json配置:
"aicenter": {
  "external_object_storage" {
    "port": 443,
    "fqdn": "s3.us-west-2.amazonaws.com"
  }
},
"external_object_storage": {
  "enabled": true,
  "create_bucket": false,
  "storage_type": "s3", 
  "region": "us-west-2", 
  "use_instance_profile": true
}
..."aicenter": {
  "external_object_storage" {
    "port": 443,
    "fqdn": "s3.us-west-2.amazonaws.com"
  }
},
"external_object_storage": {
  "enabled": true,
  "create_bucket": false,
  "storage_type": "s3", 
  "region": "us-west-2", 
  "use_instance_profile": true
}
...

监控配置

要配置足够的资源进行监控(请参阅使用监控堆栈),您应该考虑集群中的 vCPU 数量和所需的指标保留量。有关如何设置以下监控资源配置,请参见下文。

下表描述了监控字段的详细信息:

参数

描述

prometheus_retention

以天为单位。

此为指标将保留的天数,用于在 Grafana 中进行可视化并通过 Prometheus 控制台进行手动查询。

默认值为 7

prometheus_storage_size

以 GiB 为单位。

每个 Prometheus 副本要保留的存储空间量。

根据经验,将此值设置为:

0.65 * vCPU cores * (prometheus_retention / 7)

示例:

如果您将 prometheus_retention 设置为 14 天,并且集群具有分布在 5 台计算机上的 80 个核心,则这将变为:

0.65 * 80 * (14 / 7)

52 * (2)

104

默认值为 45,不应设置得更低。

如果 Prometheus 的存储空间开始不足,系统将使用特定的修复说明触发警示。请参阅此处

prometheus_memory_limit

以 MiB 为单位。

限制每个 Prometheus 副本的内存量。

根据经验,将此值设置为:

100 * vCPU cores * (prometheus_retention / 7)

示例:

如果您已将 prometheus_retention 设置为 14 天,并且集群具有分布在 5 台计算机上的 80 个核心,则这将变为:

100 * 80 * (14 / 7)

8000 * (2)

16000

对于单节点评估模式,默认值为 3200,对于多节点 HA 就绪生产模式,默认值为 6000,并且不应低于这个值。

如果 Prometheus 的内存开始不足,系统将使用特定的修复说明触发警示。 请参阅 此处

示例

"monitoring": {
  "prometheus_retention": 14,
  "prometheus_memory_limit": 16000,
  "prometheus_storage_size": 104
}"monitoring": {
  "prometheus_retention": 14,
  "prometheus_memory_limit": 16000,
  "prometheus_storage_size": 104
}

可选:配置代理服务器

备注:

在安装过程中配置代理服务器之前,请确保您满足代理服务器要求。

有关详细信息,请参阅 步骤 2:向每个节点添加代理配置

运行交互式安装程序向导时,您需要在高级配置步骤中退出该向导并更新 cluster_config.json

您需要使用 vim 或您喜欢的编辑器将以下内容添加到配置文件中:

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

必填参数

描述

enabled

使用 truefalse 启用或禁用代理设置。

http_proxy

用于路由来自集群的 HTTP 出站请求。这应该是代理服务器 FQDN 和端口。

https_proxy

用于路由来自集群的 HTTPS 出站请求。这应该是代理服务器 FQDN 和端口。

no_proxy

您不希望通过代理服务器路由的 CIDR 格式的主机、IP 地址或 IP 范围的逗号分隔列表。这应该是私有子网范围、SQL Server 主机、命名服务器地址、元数据服务器地址: *.<fqdn>,<fixed_rke_address>:9345,<fixed_rke2_address>:6443
  • fqdn - cluster_config.json 中定义的集群 FQDN
  • fixed_rke_address - cluster_config.json 中定义的 fixed_rke_address
  • named server address - /etc/resolv.conf 中的 IP 地址
  • private_subnet_ip - 集群 VNet
  • sql server host - SQL 服务器主机
  • metadata server address - 云服务(例如 Azure 和 AWS)用于获取计算机元数据的 IP 地址 169.254.169.254
  • k8s address range - Kubernetes 节点使用的 IP 地址范围,即 10.0.0.0/8
重要提示:
如果将 AI Center 与外部 Orchestrator 一起使用,则必须将外部 Orchestrator 域添加到 no_proxy 列表中。

可选:在多节点 HA 就绪生产集群中启用区域故障恢复

要在多节点集群中启用区域故障恢复,请执行以下步骤:

  1. 确保节点均匀分布在三个可用区。对于除 AWS、Azure 或 GCP 以外的任何供应商提供的裸机服务器或虚拟机,必须通过每台计算机上 /etc/default/k8s-node-labels 处的配置文件以下列格式提供区域元数据。
    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. 在高级配置步骤中更新 cluster_config.json 文件。
要使用交互式安装向导更新 cluster_config.json,请在高级配置步骤中退出,然后使用 vim 或您喜欢的编辑器将以下内容添加到配置文件中:
"zone_resilience": true"zone_resilience": true

必填参数

描述

zone_resilience

使用 truefalse 启用或禁用区域故障恢复。
重要提示:
如果启用对区域故障的恢复,则传递 --zone--region 参数为:
  • 如果您在 AWS、Azure 或 GCP 上配置计算机,并且在安装程序填充区域和区域详细信息时启用了元数据服务,则建议 使用此选项。
  • 如果您在 AWS、Azure 或 GCP 上配置计算机,并且元数据服务已禁用,或者您选择其他云提供商,则为必填 项。

可选:传递自定义 resolv.conf

Automation Suite 部署的 Kubernetes 集群使用 /etc/resolv.conf 中配置的名称服务器。Kubernetes 不适用于本地 DNS 解析程序(127.0.0.1 或 127.0.0.0/8),因此,如果您在 /etc/resolv.conf 文件中配置了此类名称服务器,则需要在 cluster_config.json.infra.custom_dns_resolver 参数中传递具有可从虚拟机任何位置访问的正确名称服务器条目的参考文件。

有关已知限制的详细信息,请参阅 Kubernetes 文档

可选参数

描述

.infra.custom_dns_resolver

服务器条目名称正确的文件路径,可从虚拟机上的任意位置加以访问。这些名称服务器条目不得来自 127.0.0.0/8

可选:提高容错能力

默认情况下,多节点 HA 就绪生产配置文件允许关闭一个服务器节点,而不会导致部署失败。您可以使用 cluster_config.json 文件中的 fault_tolerance 参数增加对服务器节点故障的容忍度。该参数用于修改 Ceph 和 Longhorn 等集群内存储组件的复制因子。

硬件要求

要将容错能力提高到 1 以上,请确保您的环境满足以下要求:
  • 您的集群至少包含 2x+1 个服务器节点,其中 x 是必需的服务器节点容错;
  • 每个服务器节点都配置了原始设备。

如何提高容错能力

要将容错能力提高到 1 以上,请执行以下步骤:
  1. cluster_config.json 文件中将 fault_tolerance 设置为所需的值。如果在开始安装或升级操作之前进行设置,则无需执行任何其他步骤。
  2. 运行 uipathctl.sh 安装程序以修改集群内 Ceph 对象存储复制因子。等待操作成功完成。
  3. 运行 install-uipath.sh 安装程序以修改 Longhorn 卷复制因子。等待操作成功完成。

此页面有帮助吗?

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