- 概述
- 要求
- 安装
- 安装后
- 集群管理
- 监控和警示
- 迁移和升级
- 特定于产品的配置
- 最佳实践和维护
- 故障排除
- 无法获取沙盒映像
- Pod 未显示在 ArgoCD 用户界面中
- Redis 探测器失败
- RKE2 服务器无法启动
- 在 UiPath 命名空间中找不到密码
- 初始安装后,ArgoCD 应用程序进入“进行中”状态
- MongoDB Pod 处于 CrashLoopBackOff 状态或在删除后处于“等待 PVC 配置”状态
- 意外错误:不一致;手动运行 fsck
- 集群还原后 MongoDB 或业务应用程序降级
- 缺少 Self-heal-operator 和 Sf-k8-utils 存储库
- 集群还原或回滚后服务不正常
- RabbitMQ Pod 卡在 CrashLoopBackOff 中
- Prometheus 处于 CrashLoopBackoff 状态,并出现内存不足 (OOM) 错误
- 监控仪表板中缺少 Ceph-rook 指标
- 使用 Automation Suite 诊断工具
- 使用 Automation Suite 支持包工具
- 探索日志
正在准备 Orchestrator
要将 Orchestrator 从独立安装迁移到 Automation Suite,您必须从独立安装中收集设置和各种文件,并将其应用于 Automation Suite 安装。
web.config
、 appSettings
、存储、NLog、凭据存储、加密密钥和加密密钥。
要将 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" } }
}
}
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 部署中重用数据库,则必须迁移此密钥。
要检索加密密钥,请执行以下步骤:
- 按需加密
UiPath.Orchestrator.dll.config
文件的secureAppSettings
部分。有关详情,请参阅加密 UiPath.Orchestrator.dll.config 部分。 - 从
UiPath.Orchestrator.dll.config
中检索加密密钥。有关详细信息,请参阅加密密钥。
加密密钥证书安装在 Windows 证书存储中。您必须向 Automation Suite 环境提供证书,以便 Orchestrator Pod 可以使用该证书。
CertificatesStoreLocation
和 Azure.KeyVault.CertificateThumbprint
设置,但您可以根据需要使用 CertificatePassword
。
采取以下步骤:
- 查看 appSettings 并获取
AzureKeyVault.*
设置。 - 存储
Azure.KeyVault.VaultAddress
、Azure.KeyVault.ClientId
和Azure.KeyVault.DirectoryId
以备后用。 - 检索证书,必要时检索证书密码。