- 概述
- 要求
- 安装
- 安装后
- 集群管理
- 监控和警示
- 迁移和升级
- 特定于产品的配置
- 最佳实践和维护
- 故障排除
迁移后步骤
迁移后步骤是必需的,包括:
步骤 1:更新密码和 Identity Server 配置
使用先前保存的身份配置数据更新身份应用程序密码
采取以下步骤:
- 运行
kubectl edit secret platform-service-secrets -n uipath并使用 Base64 编码的值更新identity.sqlConnectionString、identity.hostAdminUsername和identity.hostAdminPassword。 - Use the instructions provided in Updating the Identity token signing certificate.
- 如果使用 SAML,请运行
kubectl edit secret identity-saml-certificates -n uipath,并通过解密的私钥更新current.saml2.pfx和future.saml2.pfx,以及通过 Base64 编码的值更新currentCertPassword和futureCertPassword。 - 如果使用 Kerberos,请运行
kubectl edit secret krb5-keytab -n uipath并更新krb5.keytab值。
删除旧的身份缓存密钥
采取以下步骤:
- 运行
kubectl --kubeconfig <directory of SF cluster yaml file> get secrets/redb-redis-cluster-db -n uipath --template '{{ .data.password }}'以获取 Redis 密码。解码 Base64 值。 - 运行
kubectl --kubeconfig <directory of SF cluster yaml file> get secrets/redb-redis-cluster-db -n uipath --template '{{ .data.port }}'以获取 Redis 端口。解码 Base64 值。 - 运行
kubectl --kubeconfig <directory of SF cluster yaml file> exec -i -t -n redis-system redis-cluster-0 -c redis-enterprise-node "--" sh -c "clear; (bash || ash || sh)"以获取 Redis 节点。 - 使用从先前命令中获取的端口和密码运行
redis-cli -p <Port number> -a <Password> --scan --pattern is:* | xargs redis-cli -p <Port number> -a <Password> del以删除旧密钥。 - 运行“exit”以退出。
运行 Identity Server DataMigrator CLI
使用以下参数从加入域的计算机运行 Identity Server DataMigration。您可以在 Orchestrator 安装文件夹中找到迁移程序可执行文件,例如 C:\Program Files (x86)\UiPath\Orchestrator\Identity\Tools\DataMigrator.Cli
-
.\UiPath.DataMigrator.Cli.exe kube-migrate -d <identity.sqlConnectionString for the k8s env>运行迁移程序命令后重新启动 identity-service-api。
步骤 2:将独立安装中的租户链接到 Automation Suite
适用于 Linux
先决条件
The MSIToAutomationSuiteTenantMigrator tool requires .NET 6.0 at a minimum. If .NET 6.0 or later is not present, download and install .NET Runtime for Linux before using the MSIToAutomationSuiteTenantMigrator tool.
要在 RHEL 上安装 .NET Runtime 3.1,请运行以下命令: sudo yum install dotnet-sdk-6.0 -y
下载工具
The MSIToAutomationSuiteTenantMigrator tool is available for download here.
运行工具
请务必遵循针对不同 Shell 类型的一般转义说明。 在 Bash 中,在特殊字符前添加\ 。
要将租户从独立安装链接到 Automation Suite,请运行:
./MSIToAutomationSuiteTenantMigrator -s '<Orchestrator DB connection string (the one cloned from the standalone installation server)>' -p '<Platform DB connection string (Automation Suite)>' -t '<List of tenant names separated by comma, e.g. orchTenant1,orchTenant2>'
./MSIToAutomationSuiteTenantMigrator -s '<Orchestrator DB connection string (the one cloned from the standalone installation server)>' -p '<Platform DB connection string (Automation Suite)>' -t '<List of tenant names separated by comma, e.g. orchTenant1,orchTenant2>'
。
先决条件
The MSIToAutomationSuiteTenantMigrator tool requires .NET 6.0 at a minimum. If .NET 6.0 and beyond is not present, download and install .NET Runtime 6.0.3 for Windows before using the MSIToAutomationSuiteTenantMigrator tool.
下载工具
The MSIToAutomationSuiteTenantMigrator tool is available for download here.
运行工具
To successfully run the MSIToAutomationSuiteTenantMigrator tool, you must escape your SQL password if it contains special characters. To do that, make sure to replace every instance of $ with ``$`.
要将租户从独立安装链接到 Automation Suite,请运行:
MSIToAutomationSuiteTenantMigrator.exe -s "<Orchestrator DB connection string (the one cloned from the standalone installation server)>" -p "<Platform DB connection string (Automation Suite)>" -t "<List of tenant names separated by comma, e.g. orchTenant1,orchTenant2>"
MSIToAutomationSuiteTenantMigrator.exe -s "<Orchestrator DB connection string (the one cloned from the standalone installation server)>" -p "<Platform DB connection string (Automation Suite)>" -t "<List of tenant names separated by comma, e.g. orchTenant1,orchTenant2>"
更新 SMTP 配置信息
Configure SMTP for the host and (optionally) for any organizations where you want to use different SMTP settings than the host.
You can no longer use default credentials, so you must provide a username and password for the sender email account and you also need a valid TLS certificate, otherwise the SMTP connection does not work when you try to test the connection.
步骤 3:更新 AD 集成和身份验证
要配置 AD 集成,请参阅配置 SSO:Active Directory。
如果在独立部署中启用了 AD 集成和身份验证,请在 Automation Suite 集群中执行以下步骤:
-
确保 Automation Suite 集群可发现域控制器。如果没有,请使用 Kube DNS 配置;
-
使用密钥表文件配置集成的 Windows 身份验证和 Kerberos 身份验证;
-
通过主机管理员下的门户配置 LDAP 集成;
-
通过主机管理员下的门户配置 Windows 身份验证;
-
配置 LDAPS 以安全连接到 LDAP。
备注:用于 LDAP 集成配置的帐户应仅对当前林和受信任林中的所有受信任域具有读取权限。
步骤 4:更新 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
配置加密密钥
要配置 EncryptionKey,请将其替换为 Kubernetes 密码 orchestrator-generated-secrets,方法是覆盖 APPSETTINGS__EncryptionKey 的值。
为每个租户配置加密密钥
要迁移每个租户的加密密钥,请执行以下步骤:
-
在 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 密码。
步骤 5:重新创建 cluster_config.json
要完成迁移,您必须重新创建 cluster_config.json 文件。 这可确保通过 ArgoCD 进行的所有更改都正确保存在 Automation Suite 配置文件中。
要重新创建cluster_config.json ,请运行以下命令:
./configureUiPathAS.sh config get -i /path/to/old/cluster_config.json -o ./cluster_config.json
./configureUiPathAS.sh config get -i /path/to/old/cluster_config.json -o ./cluster_config.json
作为此步骤的一部分,您还必须手动将 create_db 设置为 false。 否则,安装程序将无法覆盖 SQL 连接字符串并保留集群的最新状态。
在此阶段,请勿通过 cluster_config.json 配置 Kerberos 身份验证。 此操作需要运行安装程序,这会还原对 SQL 连接字符串所做的更改。
For details on the alternative options to configure Kerberos authentication, see Configuring Automation Suite as a Kerberos client.
步骤 6:重新连接机器人
将机器人重新连接到 Automation Suite 中的 Orchestrator。
- 步骤 1:更新密码和 Identity Server 配置
- 使用先前保存的身份配置数据更新身份应用程序密码
- 删除旧的身份缓存密钥
- 运行 Identity Server DataMigrator CLI
- 步骤 2:将独立安装中的租户链接到 Automation Suite
- 适用于 Linux
- 。
- 更新 SMTP 配置信息
- 步骤 3:更新 AD 集成和身份验证
- 步骤 4:更新 Orchestrator 配置
- 配置 web.config
- 配置应用程序设置
- 配置存储
- Azure/Amazon S3 存储桶
- 配置 NLog
- 配置凭据存储
- 配置加密密钥
- 为每个租户配置加密密钥
- 步骤 5:重新创建 cluster_config.json
- 步骤 6:重新连接机器人