- 概述
- 要求
- 预安装
- 安装
- 安装后
- 迁移和升级
- 升级 Automation Suite
- 在 Automation Suite 集群之间迁移
- 监控和警示
- 集群管理
- 特定于产品的配置
- 故障排除
在 Automation Suite 集群之间迁移
在 OpenShift 上的 Automation Suite 集群之间迁移数据和配置。
关于集群迁移
如果您使用uipath命名空间而不是自定义命名空间,并希望从一个 Automation Suite 版本迁移到另一个版本,则可以从一个 Automation Suite 集群迁移到另一个集群。 我们支持以下场景:
- 从 Linux 上的 Automation Suite 迁移到 EKS/AKS 上新安装的 Automation Suite;
- 从 Linux 上的 Automation Suite 迁移到新安装的 OpenShift 上的 Automation Suite。
上面未列出的任何迁移方案都不受支持。
请注意,您可以多次尝试执行迁移操作,而不会影响现有集群。
不支持以下迁移场景:
- 从 Linux 上的 Automation Suite 迁移到 EKS/AKS 上的 Automation Suite 或 OpenShift 上的 Automation Suite 的现有安装;
- 将 Automation Suite on OpenShift 集群迁移到 Automation Suite on Linux 集群;
- 从 EKS/AKS 上的 Automation Suite 迁移到新安装的 OpenShift 上的 Automation Suite;
- 从 OpenShift 上的 Automation Suite 迁移到 EKS/AKS 上新安装的 Automation Suite;
- 从 EKS 上的 Automation Suite 迁移到 AKS 上的 Automation Suite 或从 AKS 上的 Automation Suite 迁移到 EKS 上的 Automation Suite;
- 从 EKS 上的 Automation Suite 迁移到 EKS 上新安装的 Automation Suite;
- 从 AKS 上的 Automation Suite 迁移到新安装的 AKS 上的 Automation Suite;
- 从 OpenShift 上的 Automation Suite 迁移到新安装的 Automation Suite on OpenShift。
流程概述
下表概述了集群迁移流程。
| 步骤 | 描述 |
|---|---|
| 1. | 必填项(必填)请确保您满足迁移要求。 |
| 2. | 必填项。为源集群和目标集群准备目标集群以及 Docker 映像。 可选。如果您的部署处于离线状态或者您使用私有 OCI 注册表,请确保提供所需的映像。 |
| 3. | 必填项。开始迁移,移动数据,然后运行 Automation Suite 安装。 |
| 4. | 可选。如果在源集群和目标集群上都启用了 AI Center,则迁移技能。 |
有关详细的迁移说明,请参阅《 Automation Suite on EKS/AKS 安装指南》 。
要求
要从一个 Automation Suite 集群迁移到另一个集群,您必须满足以下要求:
- 下载以下工件:
uipathctlversions.json
- 您必须在两个环境之间建立连接。
- 您必须在源集群中配置外部对象存储。如果您使用集群内存储,请参阅“将集群内对象存储迁移到外部对象存储” 。
- 如果您从 Linux 上的 Automation Suite 进行迁移,则源集群的版本必须为 2022.10 或更高版本。
- 如果您迁移到 OpenShift 上的 Automation Suite,则源集群的版本必须为 2023.10 或更高版本。
- “仅限离线”要求:您必须结合使用目标集群。
数据迁移和职责
下表描述了每个组件的数据迁移机制和职责。
| 数据 | 迁移机制 | |
|---|---|---|
| 状态 | 职责 | |
| SQL | 保留 您有两个选择:
| 客户 |
| Docker 注册表 | 未迁移 registry.uipath.com,则无需其他步骤。 | 客户 |
| FQDN | 必填 您必须为新集群选择新的 FQDN。或者,您可以根据需要还原为以前的 FQDN。 | 客户 |
| 证书 | 未迁移 您必须将证书作为新集群安装的一部分。 | 客户 |
| 集群配置 | 未迁移 input.json。 | 客户 |
| 用户创建的自定义警示和仪表板 | 未迁移 迁移后,您必须在警示管理器和 Grafana 仪表板中重新配置任何自定义警示。 | 客户 |
| 用户创建的应用程序日志/Prometheus 流配置 | 未迁移 您必须重新配置应用程序日志和 Prometheus 流。 | 客户 |
| 动态工作负载 | 取决于应用程序 AI Center 训练作业会丢失;技能会保留。 | 技能(升级后需要执行的脚本):UiPath™ 训练作业:客户机 |
| 对象存储 | 外部对象存储:已保留 对于外部对象存储,您有两个选项:
如果您使用的是集群内对象存储,则必须在升级前执行 ceph 到外部的迁移。 | 从集群内迁移到外部对象存储:Customer 外部对象存储:UiPath™ |
| Insights | 保留 | UiPath™ |
| MongoDB 数据 | 保留 MongoDB 数据将移至目标 SQL。 | UiPath™ |
| RabbitMQ | 不需要 | UiPath™ |
| 监控(数据) | 不需要 监控数据不适用于新集群。 | 不适用 |
准备集群迁移
准备目标集群
在完成“运行集群迁移”部分中的步骤 1 之前,不要运行uipathctl manifest apply 。过早运行此命令可能会导致目标集群中的配置不一致。
开始迁移流程后,请勿修改源集群。
要准备目标集群,请执行以下步骤:
-
在源集群上下载
input.json的目标版本,并通过运行以下命令生成input.json文件:uipathctl manifest get-revision --namespace <uipath>uipathctl manifest get-revision --namespace <uipath>有关详细信息,请参考下图:
-
根据先前生成的
input.json文件,修改目标集群的input.json文件。您必须转移特定于 Orchestrator 的配置,其中包括每个租户的加密密钥和 Azure/Amazon S3 存储桶设置。
此外,您必须更新以下组件,以便它们引用目标集群中正确的基础架构:
- 外部对象存储
- SQL Server 或 PostgreSQL 连接详细信息
- Redis 集群配置
备注:Automation Suite 2.2510 上的 Process Mining 需要专用于 Process Mining Airflow 数据库的 Microsoft SQL Server 和 PostgreSQL。
如果您从 2024.10.3 之前的版本迁移,则为目标集群生成的
input.json文件不包含 Airflow PostgreSQL 数据库的连接字符串。要使用需要 PostgreSQL 的最新版本 Airflow,您需要在迁移之前手动将 PostgreSQL 的sqlalchemy连接字符串模板添加到目标集群的input.json文件中。Postgresql_connection_string_template_sqlalchemy_pyodbcpostgresql+psycopg2://<user>:<password>@<postgresql host>:<postgresql port>/DB_NAME_PLACEHOLDERpostgresql+psycopg2://<user>:<password>@<postgresql host>:<postgresql port>/DB_NAME_PLACEHOLDER -
通过运行以下命令验证目标集群中的先决条件:
uipathctl prereq run input-target.json --kubeconfig kubeconfig.target --versions versions.jsonuipathctl prereq run input-target.json --kubeconfig kubeconfig.target --versions versions.json备注:input-target.json是与目标集群对应的input.json文件。要生成
kubeconfig文件,请参阅“生成 kubeconfig 文件” 。 -
如果要从 Linux 上的 Automation Suite 迁移到 EKS/AKS 部署,则必须将源集群置于维护模式。有关详细信息,请参阅将集群置于维护模式。
-
将 SQL 数据库从源部署克隆到目标部署。
在无法访问互联网的情况下结合使用符合 OCI 的注册表
迁移过程需要最新的 uipathcore Docker 映像标签,以便源集群和目标集群都可用使用该标签。如果源集群处于离线状态,请通过执行以下步骤使映像可用:
- 请按照选项 B:将离线捆绑包与注册表结合使用中的步骤将目标集群使用的注册表与离线捆绑包结合使用。
- 在有权访问源集群的虚拟机上复制
uipathctl二进制文件和versions.json文件。 - 运行以下命令:
jq -r '.[][] | select(.name=="uipath/uipathcore") | .ref + ":" + .version' "/path/to/versions.json" > images.txtjq -r '.[][] | select(.name=="uipath/uipathcore") | .ref + ":" + .version' "/path/to/versions.json" > images.txt - 将
uipathcore映像从目标集群的注册表添加到源集群的注册表:./uipathctl registry seed --tag-file ./images.txt \ --source-registry "target.registry.fqdn.com" \ --source-password "target-registry-username" \ --source-username "target-registry-password" \ --dest-registry "source.registry.fqdn.com" \ --dest-username "source-registry-username" \ --dest-password "source-registry-password"./uipathctl registry seed --tag-file ./images.txt \ --source-registry "target.registry.fqdn.com" \ --source-password "target-registry-username" \ --source-username "target-registry-password" \ --dest-registry "source.registry.fqdn.com" \ --dest-username "source-registry-username" \ --dest-password "source-registry-password"备注:请务必按如下方式更新命令:
- 将
target.registry.fqdn.com、target.registry.fqdn.com和target-registry-password替换为与目标集群关联的注册表对应的适当值; - 将
source.registry.fqdn.com、source.registry.fqdn.com和source-registry-password替换为对应于关联源集群的注册表的正确值。
- 将
结合使用互联网访问的符合 OCI 的注册表
如果使用私有注册表,则必须为它设置种子。有关说明,请参阅配置符合 OCI 的注册表。
运行集群迁移
要迁移到目标 Automation Suite 集群,请执行以下步骤:
- 通过运行以下命令执行迁移:
uipathctl cluster migration run input-target.json --kubeconfig kubeconfig.source --target-kubeconfig kubeconfig.target --versions versions-target.jsonuipathctl cluster migration run input-target.json --kubeconfig kubeconfig.source --target-kubeconfig kubeconfig.target --versions versions-target.json - 通过运行以下命令,在目标集群上完成 Automation Suite 安装:
uipathctl manifest apply input-target.json --kubeconfig kubeconfig.target --versions versions-target.jsonuipathctl manifest apply input-target.json --kubeconfig kubeconfig.target --versions versions-target.json
迁移 AI Center 技能
仅当您在源集群和目标集群上都启用了 AI Center 时,本部分中的步骤才适用。请注意,这些说明假定目标集群上的 AI Center 指向包含用于运行技能的技能数据的数据库。
完成迁移后,您必须同步 AI Center 技能,以便再次使用。
检查技能迁移状态
您可以使用以下脚本将 AI Center ML 技能同步到目标集群。如果没有正在进行的活动同步,脚本将在后台触发同步。
该脚本在后台同步技能(异步)并返回。该作业可确保已部署技能,并更新数据库条目以反映当前状态。
uipathctl service aicenter sync-skills [skill_ids]
uipathctl service aicenter sync-skills [skill_ids]
| 参数 | 描述 |
|---|---|
[skill_ids] | 由空格分隔的技能 ID 可选数组。如果您提供技能 ID,则仅更新这些技能;否则,系统将重新同步所有已部署的技能。 |
uipathctl service aicenter sync-skills 783273-3232-3232-323 32-32-323-3232
//this will only sync the skills with ID 783273-3232-3232-323 and 32-32-323-3232
uipathctl service aicenter sync-skills 783273-3232-3232-323 32-32-323-3232
//this will only sync the skills with ID 783273-3232-3232-323 and 32-32-323-3232
要查看 AI Center ML 技能的状态,请运行以下命令:
uipathctl service aicenter sync-skill-status [skill_ids]
uipathctl service aicenter sync-skill-status [skill_ids]
该命令可以返回以下任何状态:
InProgess- 正在进行技能部署。Failed- 技能部署失败。OutOfSync- 技能在数据库中可用;但是尚未将其部署。Available- 技能已部署并且可供使用时。