- 概述
- 要求
- 安装
- 安装后
- 集群管理
- 监控和警示
- 迁移和升级
- 特定于产品的配置
- 最佳实践和维护
- 故障排除
- 无法获取沙盒映像
- 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 指标
- Pod 无法在代理环境中与 FQDN 通信
- 使用 Automation Suite 诊断工具
- 使用 Automation Suite 支持捆绑包
- 探索日志
更新 Orchestrator 配置
更新 Orchestrator 配置。 请务必查看以下内容:
- 来自
UiPath.Orchestrator.dll.config的自定义配置 - 任何
web.config设置。 - 存储(包、执行介质和存储桶数据)- 主要适用于
Storage.Type=FileSystem - 自定义 NLog 目标。
- 自定义凭据存储。
- 为每个租户配置的加密密钥。
You can simplify many of the following steps by using the provided Orchestrator Configurator Tool.
orchestrator_configurator.sh Bash 工具可以更新 Orchestrator 自定义配置映射并将文件上传到 Orchestrator 已知 Blob 存储位置。使用 -y 参数跳过对建议操作的确认。
配置 web.config
使用 Lens 或 kubectl 等工具编辑 orchestrator-customconfig 配置映射。
在 values.json 文件中配置请求限制。更改此配置后,Orchestrator 部署应自动重新启动。
{
"Kestrel": {
"Limits": {
"MaxRequestBodySize": 314572800
}
}
{
"Kestrel": {
"Limits": {
"MaxRequestBodySize": 314572800
}
}
配置应用程序设置
在预迁移步骤中编辑的 appsettings.json 文件现在包含 appSettings 部分中所需的所有自定义。您需要将此 .json 文件放置在 orchestrator-customconfig 配置映射中的 values.json文件中,位于 appSettings 键下。
{
"ExampleSetting.Enabled": true,
"ExampleSetting.Type": "BasicExample",
"ExampleSetting.Count": 3
}
{
"ExampleSetting.Enabled": true,
"ExampleSetting.Type": "BasicExample",
"ExampleSetting.Count": 3
}
Orchestrator 配置程序工具可以将自定义appSettings中的键与配置映射中已存在的键合并。 您可以使用-c|--app-settings参数上传应用程序设置:
./orchestrator_configurator.sh -c appsettings.json
./orchestrator_configurator.sh -c appsettings.json
如果使用配置器工具,请完成所有步骤以收集所有必需的appSettings覆盖,并在最后运行一次脚本。
配置存储
如果要从 FileSystem 存储移动到 Orchestrator 的存储提供程序,请使用 Orchestrator 配置程序工具转移存储内容。
使用 Orchestrator 配置程序工具中的 -s|--storage-folder 参数上传文件,其中 path 是父文件夹。将路径替换为存储文件的文件夹位置。要确定路径,请检查 UiPath.Orchestrator.dll.config 中的 Storage.Path 参数。
为确保该文件夹为正确的文件夹,该文件夹应包含以下层次结构:
- 一个名为 Orchestrator-Host\Library 的文件夹。
- 每个租户一个文件夹,名为 Orchestrator-[tenantKey]。
./orchestrator_configurator.sh -s path
./orchestrator_configurator.sh -s path
该命令会将路径文件夹的内容上传到配置的存储提供程序。
- Orchestrator 配置程序工具仅支持 CEPH、S3(或兼容)或 Azure Blob 存储。对于任何其他存储,请手动将内容复制到新位置。
要使用网络文件存储,请编辑 Orchestrator ArgoCD 应用程序参数并设置以下内容:
storage.type = smbstorage.smb.domainstorage.smb.passwordstorage.smb.sourcestorage.smb.usernamestorage.smb.size
要配置其他存储选项,请编辑 Orchestrator ArgoCD 应用程序参数并设置以下内容:
storage.type到所需的提供程序 (Azure、AWS、 Minio)storage.connectionString
Orchestrator 应用程序存储设置概述:
Azure/Amazon S3 存储桶
由于提供程序端的同源策略,Orchestrator 网页浏览器对 Amazon 和 Azure 存储桶的访问可能会受到限制。要成功访问此类存储桶的内容,您需要配置相应的提供程序以允许来自 Orchestrator 的跨域请求。
See instructions on how to configure each provider to allow cross-origin requests from Orchestrator.
配置 NLog
要安装 NLog 扩展程序,需要将其复制到 uipath 存储桶中的 Ceph 中。然后,Orchestrator Pod 将能够在启动时加载它们。您还需要将配置放入 nlog.json 文件的 orchestrator-customconfig 中。
配置程序可以使用 -n|--nlog-extensions-folder 和 -l|--nlog-config-file 参数执行此操作。
./orchestrator_configurator.sh -n nlogextensions -l nlog.custom.json
./orchestrator_configurator.sh -n nlogextensions -l nlog.custom.json
插件将在 Orchestrator Pod 的本地路径 /var/orchestrator/plugins/nlog 中可用。配置程序会自动更新程序集文件路径,并在其中添加插件路径。
配置凭据存储
凭据存储配置更改包含在 appsettings.json 中,因此不再需要配置更新。
要手动进行更改,请将其放置在 orchestrator-customconfig 的 values.json 文件中的应用程序设置部分下。
如果还需要安全存储程序集,则必须将它们放置在 /var/orchestrator/plugins/securestore/ 路径的任何 Orchestrator Pod 中。
Orchestrator 配置程序工具可以使用 -p|--securestore-plugins-folder 参数执行此操作:
./orchestrator_configurator.sh -p securestoreplugins
./orchestrator_configurator.sh -p securestoreplugins
配置加密密钥
要配置加密密钥,请将其替换为 Kubernetes 密码 orchestrator-generated-secrets,方法是覆盖 APPSETTINGS__EncryptionKey 的值。为此,请运行以下命令:
ENCRYPT_KEY=$(echo <key>|base64 -w 0)
kubectl -n uipath patch secret orchestrator-generated-secrets --type='json' \
-p="[{'op': 'replace', 'path': '/data/APPSETTINGS__EncryptionKey', 'value':'$ENCRYPT_KEY'}]"
ENCRYPT_KEY=$(echo <key>|base64 -w 0)
kubectl -n uipath patch secret orchestrator-generated-secrets --type='json' \
-p="[{'op': 'replace', 'path': '/data/APPSETTINGS__EncryptionKey', 'value':'$ENCRYPT_KEY'}]"
确保将<key>替换为从UiPath.Orchestrator.dll.config中检索到的键的值。
为每个租户配置加密密钥
要迁移每个租户的加密密钥,请执行以下步骤:
-
在 ArgoCD 用户界面中添加 AzureKeyVault 设置和证书,作为 Orchestrator 应用程序的参数覆盖。
encryptionKeyPerTenant.certificateBase64encryptionKeyPerTenant.certificatePasswordencryptionKeyPerTenant.clientIdencryptionKeyPerTenant.directoryIdencryptionKeyPerTenant.vaultAddress
-
Use the values from the following configuration keys (referenced in the preparation steps):
Azure.KeyVault.VaultAddressAzure.KeyVault.ClientIdAzure.KeyVault.DirectoryId
-
将证书转换为 Base64 并将其用作参数覆盖。要进行转换,请使用以下命令:
PowerShell:
[convert]::ToBase64String((Get-Content -path "path_to_certificate" -Encoding byte))[convert]::ToBase64String((Get-Content -path "path_to_certificate" -Encoding byte))Shell:
base64 [_path_to_certificate_]base64 [_path_to_certificate_]
-
应用 Orchestrator ArgoCD 应用程序参数覆盖,然后运行 Orchestrator 配置程序工具。
-
一旦新配置反映在 ArgoCD 中,请等待,直至应用程序再次同步。
-
启用 EncryptionKeyPerTenant 功能,如下所示:
- 使用
appsettings.json中的两个设置并运行 Orchestrator 配置程序工具; - 或在
orchestrator-customconfig、values.json文件的appConfig部分中手动添加。
"EncryptionKeyPerTenant.Enabled": "true", "EncryptionKeyPerTenant.KeyProvider": "AzureKeyVault","EncryptionKeyPerTenant.Enabled": "true", "EncryptionKeyPerTenant.KeyProvider": "AzureKeyVault", - 使用
-
从集群重新启动 Orchestrator Automation Suite 部署以使更改生效。
备注:Identity Server 中的 SMTP 设置未使用每个租户的密钥进行加密。迁移完成后,请确保在 Automation Suite 门户中重新输入 SMTP 密码。