- 概述
- 要求
- 安装
- 安装后
- 集群管理
- 监控和警示
- 迁移和升级
- 特定于产品的配置
- 最佳实践和维护
- 故障排除
预迁移步骤
为确保您成功地将独立平台安装迁移到 Automation Suite,请务必执行以下部分中描述的步骤。预迁移步骤是必需的。
确保保存以下 Identity Server 配置数据:
.pfx
证书对 OAuth 令牌进行签名。如果您在独立部署中使用自己的令牌,则需要将其转换为 .pfx
,并在 Automation Suite 集群的相应密码中进行更新。
kubectl edit secret identity-token-signing-certificate -n uipath
。
kubectl edit secret identity-saml-certificates -n uipath
) 中更新先前在独立部署中使用的任何证书。
保存以下 Identity Server 应用程序设置:
appsetting.production.json
中的DatabaseProtectionSettings
,位于独立部署的/identity
文件夹中。DatabaseProtectionSettings.EncryptionKey2021
设置用于加密静态敏感数据。您必须在迁移后阶段在 Automation Suite 部署中复制此值:kubectl edit secret identity-generated-secrets -n uipath
。
对于独立部署中的每个租户,在 Automation Suite 环境中创建一个组织-租户对。
示例:如果在独立 Orchestrator 中有一个名为租户 1 的租户,则需要在 Automation Suite 中创建一个名为租户 1 的组织,并在该组织中也创建一个名为租户 1 的租户。创建租户后,请确保为该租户启用 Orchestrator 服务。
保存以下信息以供进一步使用:
- 独立部署中 Orchestrator 数据库的连接字符串;
- Automation Suite 部署中 AutomationSuite_Platform 数据库的连接字符串;
- 独立部署中的租户名称;您可以在 Orchestrator 用户界面中查找,或使用 Orchestrator 租户表中的
TenancyName
列进行查找; - Insights 连接字符串。
要将 Orchestrator 从独立安装迁移到 Automation Suite,您必须从独立安装中收集设置和各种文件,并将其应用于 Automation Suite 安装。
虽然在安装时只能配置部分设置,但所有设置都应可用于安装后配置。
- 如要在安装时配置设置,请将其添加到
cluster_config.json
文件中; - 在安装完成后更新设置取决于设置的作用域,以及某个功能是否可用于通过 app-of-apps 参数进行配置。
orchestrator/plugins/nlog
或 orchestrator/plugins/securestore
下的 uipath
存储桶中。
您可以按如下方式添加自定义配置:
- 通过编辑 ArgoCD 中的应用程序参数(参数覆盖);
- 通过编辑 Kubernetes 配置映射
orchestrator-customconfig
中命名空间uipath
中的文件。
web.config
设置没有等效项,或者在 Automation Suite 中使用其他机制实现。
您确实需要配置以下选项:
security.requestFiltering.requestLimits.maxAllowedContentLength
security.requestFiltering.requestLimits.maxAllowedContentLength
记下此设置的值以备后用。决定是否需要在 Automation Suite 中对其进行配置。其默认值为 300MiB。
UiPath.Orchestrator.dll.config
配置文件的 appSettings
或 secureAppSettings
部分中进行的自定义更改。您可以将自定义 appSettings
和 secureAppSettings
添加到 orchestrator-customconfig
配置映射。
UiPath.Orchestrator.dll.config
配置文件的 appSettings
部分中,标识所有已修改或添加的设置。将这些设置保存在 .json
文件中,以便在后续步骤中使用。
您可以使用 Orchestrator CLI 保护配置选项解密任何受保护的应用程序配置部分。您只需使用已更改或添加且在 Automation Suite 中仍然相关的设置。
appSettings.custom.json
文件,如以下示例所示:
{
"ExampleSetting.Enabled": true,
"ExampleSetting.Type": "BasicExample",
"ExampleSetting.Count": 3
}
{
"ExampleSetting.Enabled": true,
"ExampleSetting.Type": "BasicExample",
"ExampleSetting.Count": 3
}
决定存储迁移所需的内容,以及当前的存储配置是否保持不变,或者是否让 Automation Suite 为您管理存储。Automation Suite 提供了将 Blob 存储在 Ceph 中的选项,该选项可用于所有 Orchestrator Pod。在迁移的情况下,必须将现有文件复制到当前 Blob 存储。
s3cmd
),您可以将数据复制到 Orchestrator。如果您使用的是 Ceph,则无需其他配置,因为这是默认选项。
Storage.Location
键,从当前的 Orchestrator 配置中检索与 Windows 网络共享的连接数据。由于 Automation Suite 在 Linux 计算机上运行,因此您不能依赖集成身份验证来访问网络共享,而是需要可以访问它的帐户的凭据。
Storage.Location
和 Storage.Type
设置添加到 appSettings.custom.json
中。
您可以对 NLog 进行以下自定义:
- 更改现有目标
- 添加新目标
- 添加 NLog 扩展程序
查看配置文件的 NLog 部分,并构建 NLog 自定义配置。要在 Elasticsearch 中启用机器人日志存储,您可以提供用户名、密码和 URI 作为 Automation Suite 参数,然后系统会自动配置目标。要为机器人日志启用自定义方案,您需要手动配置目标。
如果需要 NLog 扩展程序,请创建一个包含所有扩展程序及其依赖项的文件夹。
nlogextensions
。默认情况下,Orchestrator 加载以下扩展程序,因此您无需将它们包含在文件夹或 NLog 配置中:
NLog.Targets.ElasticSearch
UiPath.Orchestrator.Logs.Elasticsearch
Microsoft.ApplicationInsights.NLogTarget
NLog.Extensions.AzureEventHub
NLog.Targets.ElasticSearch
UiPath.Orchestrator.Logs.Elasticsearch
Microsoft.ApplicationInsights.NLogTarget
NLog.Extensions.AzureEventHub
nlog.custom.config
文件:扩展程序、目标和规则。
assemblyFile
指定扩展程序集的一系列项目,以及程序集相对于 nlogextensions
文件夹的路径。
/opt/app-root/app/nlog.config.json
位置。
nlog.custom.config
文件:
{ "NLog": {
"extensions": [
{ "assemblyFile": "NLog.Extensions.AzureBlobStorage.dll" }
],
"targets": {
"azureBlob": {
"type": "AzureBlobStorage",
"connectionString": "DefaultEndpointsProtocol=https;AccountName=test;AccountKey=key;EndpointSuffix=core.windows.net",
"container": "orchestratorlogs",
"blobName": "${date:format=yyyy-MM-dd hh.mm}",
"layout": {
"type": "JsonLayout",
"includeAllProperties": true,
"Attributes": [
{"name": "ts","layout": "${longdate}"},
{"name": "level","layout": "${level:upperCase=true}"},
{"name": "logger","layout": "${logger}"},
{"name": "message","layout": "${message}"},
{"name": "exception","layout": "${onexception:${ui-pretty-exception}}"}
]
}
}
},
"rules": { "70_Final": { "writeTo": "stdout,azureBlob" } }
}
}
{ "NLog": {
"extensions": [
{ "assemblyFile": "NLog.Extensions.AzureBlobStorage.dll" }
],
"targets": {
"azureBlob": {
"type": "AzureBlobStorage",
"connectionString": "DefaultEndpointsProtocol=https;AccountName=test;AccountKey=key;EndpointSuffix=core.windows.net",
"container": "orchestratorlogs",
"blobName": "${date:format=yyyy-MM-dd hh.mm}",
"layout": {
"type": "JsonLayout",
"includeAllProperties": true,
"Attributes": [
{"name": "ts","layout": "${longdate}"},
{"name": "level","layout": "${level:upperCase=true}"},
{"name": "logger","layout": "${logger}"},
{"name": "message","layout": "${message}"},
{"name": "exception","layout": "${onexception:${ui-pretty-exception}}"}
]
}
}
},
"rules": { "70_Final": { "writeTo": "stdout,azureBlob" } }
}
}
70_final
替换为 20_robot_primary
。
nlogextensions
将复制到对象存储库中众所周知的插件位置。Orchestrator 配置程序工具可以自动执行此操作,同时还可以更新 NLog 配置。脚本会自动更改 nlog.custom.config
,以便为扩展程序数组中的每个程序集文件添加 /var/orchestrator/plugins/nlog/
前缀(如果尚未添加前缀)。
您可以将凭据存储的自定义插件迁移到 Automation Suite。为此,请更新配置映射中的配置,并将插件程序集复制到相应的对象存储桶。
- 插件必须在 Linux 上运行。
- 除
/tmp
外,插件不得写入任何存储空间。
以下凭据存储插件会自动部署到 Automation Suite 中的 Orchestrator:
UiPath.Orchestrator.AzureKeyVault.SecureStore.dll
-
UiPath.Orchestrator.SecureStore.CyberArkCCP.dll
securestoreplugins
。
appSettings.custom.json
文件中添加凭据存储设置,如下所示:
-
要禁用默认插件,请在
appSettings.custom.json
中添加具有空字符串值的配置Plugins.SecureStores.Default
; -
将所有自定义插件添加到
Plugins.SecureStores
设置中,并在appSettings.custom.json
中用;
分隔; -
添加任何自定义插件设置,如下所示:
Plugins.SecureStores.<<FriendlyName>>.<<SettingName>>
。
securestoreplugins
插件文件夹复制到对象存储库中众所周知的插件位置。
Plugins.SecureStores
中的程序集从此文件夹加载。
Plugins.SecureStore.Default
中的程序集从 Orchestrator 应用程序文件夹中的插件文件夹加载。
默认情况下,Orchestrator 在安装时会生成一个加密密钥,用于数据库中的敏感信息。如果要在新的 Orchestrator 部署中重用数据库,则必须迁移此密钥。
secureAppSettings
部分中,检索 EncryptionKey
的值并将其安全存储以备后用。
加密密钥证书安装在 Windows 证书存储中。您必须向 Automation Suite 环境提供证书,以便 Orchestrator Pod 可以使用该证书。
CertificatesStoreLocation
和 Azure.KeyVault.CertificateThumbprint
设置,但您可以根据需要使用 CertificatePassword
。
采取以下步骤:
- 查看 appSettings 并获取
AzureKeyVault.*
设置。 - 存储
Azure.KeyVault.VaultAddress
、Azure.KeyVault.ClientId
和Azure.KeyVault.DirectoryId
以备后用。 - 检索证书,必要时检索证书密码。