automation-suite
2023.10
false
- 概述
- 要求
- 推荐:部署模板
- 手动:准备安装
- 手动:准备安装
- 步骤 1:为离线安装配置符合 OCI 的注册表
- 步骤 2:配置外部对象存储
- 步骤 3:配置 High Availability Add-on
- 步骤 4:配置 Microsoft SQL Server
- 步骤 5:配置负载均衡器
- 步骤 6:配置 DNS
- 步骤 7:配置磁盘
- 步骤 8:配置内核和操作系统级别设置
- 步骤 9:配置节点端口
- 步骤 10:应用其他设置
- 步骤 12:验证并安装所需的 RPM 包
- 步骤 13:生成 cluster_config.json
- 证书配置
- 数据库配置
- 外部对象存储配置
- 预签名 URL 配置
- 符合 OCI 的外部注册表配置
- Disaster Recovery:主动/被动和主动/主动配置
- High Availability Add-on 配置
- 特定于 Orchestrator 的配置
- Insights 特定配置
- Process Mining 特定配置
- Document Understanding 特定配置
- Automation Suite Robot 特定配置
- 监控配置
- 可选:配置代理服务器
- 可选:在多节点 HA 就绪生产集群中启用区域故障恢复
- 可选:传递自定义 resolv.conf
- 可选:提高容错能力
- install-uipath.sh 参数
- 添加具有 GPU 支持的专用代理节点
- 为 Task Mining 添加专用代理节点
- 连接 Task Mining 应用程序
- 为 Automation Suite Robot 添加专用代理节点
- 步骤 15:为离线安装配置临时 Docker 注册表
- 步骤 16:验证安装的先决条件
- 手动:执行安装
- 安装后
- 集群管理
- 监控和警示
- 迁移和升级
- 特定于产品的配置
- 最佳实践和维护
- 故障排除
- 如何在安装过程中对服务进行故障排除
- 如何卸载集群
- 如何清理离线工件以改善磁盘空间
- 如何清除 Redis 数据
- 如何启用 Istio 日志记录
- 如何手动清理日志
- 如何清理存储在 sf-logs 存储桶中的旧日志
- 如何禁用 AI Center 的流日志
- 如何对失败的 Automation Suite 安装进行调试
- 如何在升级后从旧安装程序中删除映像
- 如何禁用 TX 校验和卸载
- 如何从 Automation Suite 2022.10.10 和 2022.4.11 升级到 2023.10.2
- 如何手动将 ArgoCD 日志级别设置为 Info
- 如何扩展 AI Center 存储
- 如何为外部注册表生成已编码的 pull_secret_value
- 如何解决 TLS 1.2 中的弱密码问题
- 单节点升级在结构阶段失败
- 从 2021.10 自动升级后,集群运行状况不佳
- 由于 Ceph 运行状况不佳,升级失败
- 由于空间问题,RKE2 未启动
- 卷无法装载,且仍处于附加/分离循环状态
- 由于 Orchestrator 数据库中的传统对象,升级失败
- 并行升级后,发现 Ceph 集群处于降级状态
- Insights 组件运行状况不佳导致迁移失败
- Apps 服务升级失败
- 就地升级超时
- Docker 注册表迁移卡在 PVC 删除阶段
- 升级到 2023.10 或更高版本后 AI Center 配置失败
- 在离线环境中升级失败
- 升级期间 SQL 验证失败
- 快照-控制器-crds Pod 在升级后处于 CrashLoopBackOff 状态
- Longhorn REST API 端点升级/重新安装错误
- 运行诊断工具
- 使用 Automation Suite 支持捆绑包
- 探索日志
Linux 版 Automation Suite 安装指南
Last updated 2024年12月3日
AWS 部署架构
-
Uipath-sf:
- SSL 堆栈
- 路由堆栈
- 服务器堆栈
- 数据库堆栈
- 备份堆栈
- 管理堆栈
- Lambda 函数 (
AWS::Lambda::Function
):FindAMIFunction
– 用于查找匹配的 AMI ID。CreateInputJsonFunction
– 用于创建 Automation Suite 安装程序使用的配置。ComputeResourceSizeFunction
– 用于根据所选服务和部署类型计算所需的最低 EC2 实例硬件配置。
- Lambda 函数用于提供最低权限的 IAM 角色 (
AWS::IAM::Role
):FindAmiLambdaRole
CreateInputJsonLambdaRole
ComputeResourceSizeLambdaRole
- 用于存储敏感信息的密码 (
AWS::SecretsManager::Secret
):RDSPassword
OrgSecret
PlatformSecret
ArgoCD 密码
ArgoCdUserSecret
InputJsonSecret
KubeconfigSecret
- SSL 堆栈(可选)
- 网络堆栈(可选)
-
备份堆栈 (可选):
ClusterBackupStorage
(AWS::EFS::FileSystem
) – 用于存储备份的 Amazon Elastic 文件系统。SharedStorageSecurityGroup
(AWS::EC2::SecurityGroup
) – 用于允许来自集群节点的 NFS 网络连接的安全组。SharedStorageMountTargetOne
(AWS::EFS::MountTarget
) – 为 EFS 文件系统和第一个私有子网创建装载目标的资源。SharedStorageMountTargetTwo
(AWS::EFS::MountTarget
) – 为 EFS 文件系统和第二个私有子网创建装载目标的资源。SharedStorageMountTargetThree
(AWS::EFS::MountTarget
) – 为 EFS 文件系统和第三个私有子网创建装载目标的可选资源。
- 数据库堆栈:
RDSDBInstance
(AWS::RDS::DBInstance
) – Amazon RDS 数据库实例。数据库 SKU 为db.m5.2xlarge
。DBSubnetGroup
(AWS::RDS::DBSubnetGroup
) – 包含私有子网的私有子网组。DbSecurityGroup
(AWS::EC2::SecurityGroup
) – 允许访问数据库实例的安全组。PMRDSDBInstance
(AWS::RDS::DBInstance
) – Process Mining 专用 Amazon RDS 数据库实例。仅在启用 Process Mining 且部署为Multi Node
时部署。数据库 SKU 为db.m5.4xlarge
。
- 路由堆栈:注意:Alb 和 Nlb 堆栈是互斥配置
- Alb 堆栈:
ExternalLoadBalancer
(AWS::ElasticLoadBalancingV2::LoadBalancer
) – 用于分发 Automation Suite 流量的应用程序负载均衡器。它可以是内部的,也可以是面向互联网的。ELBSecurityGroup
(AWS::EC2::SecurityGroup
) – 应用于负载均衡器的安全组。HttpsTargetGroup
(AWS::ElasticLoadBalancingV2::TargetGroup
) – 负载均衡器的目标组。HttpsListener
(AWS::ElasticLoadBalancingV2::Listener
) – 负载均衡器的侦听器。
- Nlb 堆栈:
ExternalLoadBalancer
(AWS::ElasticLoadBalancingV2::LoadBalancer
) – 用于分发 Automation Suite 流量的网络负载均衡器。它可以是内部的,也可以是面向互联网的。TcpTargetGroup
(AWS::ElasticLoadBalancingV2::TargetGroup
) – 负载均衡器的目标组。TcpListener
(AWS::ElasticLoadBalancingV2::Listener
) – 负载均衡器的侦听器。
KubeLoadBalancer
(AWS::ElasticLoadBalancingV2::LoadBalancer
) – 用于节点注册的专用网络负载均衡器。KubeApiTcpTargetGroup
(AWS::ElasticLoadBalancingV2::TargetGroup
) –KubeLoadBalancer
的节点注册流量的目标组。KubeApiTcpListener
(AWS::ElasticLoadBalancingV2::Listener
) –KubeLoadBalancer
的节点注册流量的侦听器。Rke2RegistrationTcpTargetGroup
(AWS::ElasticLoadBalancingV2::TargetGroup
) –KubeLoadBalancer
的节点注册流量的目标组。Rke2RegistrationTcpListener
(AWS::ElasticLoadBalancingV2::Listener
) –KubeLoadBalancer
的节点注册流量的侦听器。RootRecordSet
(AWS::Route53::RecordSet
) – FQDN 的 DNS A 记录。SubdomainRecordSet
(AWS::Route53::RecordSet
) – FQDN 的子域的 DNS A 记录。
- Alb 堆栈:
- 管理堆栈:
LifecycleAutomationLogs
(AWS::Logs::LogGroup
) – 用于记录来自 SSM 自动化的事件的日志组。ClusterOperationsAutomationLogs
– 用于记录与集群操作相关的事件的日志组。OnDemandRestoreStateMachine
(AWS::StepFunctions::StateMachine
) – 用于编排还原流程的步骤函数。- 用于提供正常节点删除的 SSM 文档 (
AWS::SSM::Document
) 步骤集:ServerRemoveInstanceDocument
AgentRemoveInstanceDocument
UpdateAMIDocument
– 更新自动调整组的 AMI ID。RegisterAiCenter
– 将 AI Center 注册到部署时提供的外部 Orchestrator。OnDemandBackup
– 创建 Automation Suite 集群的手动快照。GetBackupList
– 检索 Automation Suite 集群的所有可用快照。OnDemandRestoreDocument
– 从给定快照还原 Automation Suite 集群。
- Autoscaling Lyfecycle 挂钩 (
AWS::AutoScaling::LifecycleHook
) 允许我们在 EC2 实例收到实例终止事件时运行 SSM 文档:ServerAsgLifeCycleHookTerminating
AgentAsgLifeCycleHookTerminating
AsRobotsAsgLifeCycleHookTerminating
- 触发 SSM 文档执行的事件规则 (
AWS::Events::Rule
):ServerTerminateEventRule
AgentTerminateEventRule
AsRobotsTerminateEventRule
- 运行 SSM 文档并将日志添加到日志组所需的 IAM 角色 (
AWS::IAM::Role
):AutomationAssumeRole
EventsBridgeAssumeRole
StateMachinesAssumeRole
注意:AutomationAssumeRole
和StateMachinesAssumeRole
允许对 Amazon SSN 进行完全访问。有关更多信息,请参阅 AmazonSSMFullAccess。 - 服务器堆栈:
ServerLaunchConfiguration
(AWS::EC2::LaunchTemplate
) – 服务器节点的 EC2 实例配置。磁盘配置:- 操作系统磁盘 – sku gp3,容量 256GiB
- 集群磁盘 – sku gp3,容量 300GiB
- etcd 磁盘 – sku io1,容量 32GiB
- 数据磁盘 – sku gp3,容量为 512GiB,无论所选服务如何。
- 对象存储磁盘 – sku gp3,容量 512GiB
- Automation Suite Robot 包缓存的可选磁盘 - sku gp3,容量 32GiB。仅当在单节点部署中启用了 Automation Suite Robot 服务时,才会部署磁盘
AgentLaunchConfiguration
(AWS::EC2::LaunchTemplate
) – 代理节点的 EC2 实例配置。磁盘配置:- 操作系统磁盘 – sku gp3,容量 128GiB
- 集群磁盘 – sku gp3,容量 256GiB
ASRobotsLaunchTemplate
(AWS::EC2::LaunchTemplate
) – ASRobots 节点的 EC2 实例配置。磁盘配置:- 操作系统磁盘 – sku gp3,容量 128GiB
- 集群磁盘 – sku gp3,容量 256GiB
- 机器人包缓存磁盘 - sku gp3,容量 32GiB
GpuEnabledNode
(AWS::EC2::Instance
) – 可选 GPU 节点。它具有与代理相同的磁盘配置。TaskMiningNode
(AWS::EC2::Instance
) - 可选 Task Mining 节点。仅在选择 Task Mining 服务时部署。它具有与代理相同的磁盘配置。BastionHost
(AWS::EC2::Instance
) – 可选 EC2 实例,用于通过 SSH 连接到集群节点。它具有t3.large
实例类型和 200GiB 的 gp3 磁盘。ServerAutoScalingGroup
(AWS::AutoScaling::AutoScalingGroup
) – 服务器的自动调整组。AgentAutoScalingGroup
(AWS::AutoScaling::AutoScalingGroup
) – 代理的自动调整组。ASRobotsAutoScalingGroup
– 专用 Automation Suite Robot 节点的自动调整组。如果部署为Multi Node
并且已启用 Automation Suite Robot 服务,则此调整组的容量为 1,否则为 0。- 可选
ServiceFabricIamRole
(AWS::IAM::Role
),它有权执行以下操作:- 写入日志
- 读取 EC2 实例配置
- 下载 AWS 快速入门资源
- 访问 Automation Suite 安装配置密码
- 访问集群 kubeconfig 配置密码
ServiceFabricSecurityGroup
(AWS::EC2::SecurityGroup
) – 允许访问 UiPath™ 应用程序的安全组。BastionSecurityGroup
(AWS::EC2::SecurityGroup
) – 允许通过 SSH 访问堡垒的可选安全组AsgProcessModifierFunction
(AWS::Lambda::Function
) – 用于在创建 CF 堆栈期间修改 ASG 流程。AsgProcessModificationRole
(AWS::IAM::Role
) – 为AsgProcessModifierFunction
提供最低权限的 IAM 角色- SSM 参数 (
AWS::SSM::Parameter
):InstanceAMIIdSSMParameter
– 存储节点的 AMI ID。InstanceAMIImageNameSSMParameter
– 保存部署时使用或通过UpdateAMIDocument
更新的映像名称。
- Autoscaling Lyfecycle 挂钩 (
AWS::AutoScaling::LifecycleHook
),使我们能够在安装程序成功后将 EC2 实例转换为 InService 状态:ServerAsgLifeCycleHookLaunching
AgentAsgLifeCycleHookLaunching
ASRobotsAsgLifeCycleHookLaunching
该模板会动态计算部署所需的硬件,如下所示:
- 根据安装的服务,它会在集群级别设置最低要求。
- 根据部署配置文件(多节点或单节点配置文件),它设置单个虚拟机的最低要求。
- 根据实例在您部署区域中的可用性和上述要求选择实例类型。
下表显示了部署和可能的实例类型之间的映射关系:
部署类型 |
实例类型 |
---|---|
需要少于 16 个 CPU 的单节点服务选择 |
c5.4xlarge 、c5a.4xlarge 、m5.4xlarge 、m5a.4xlarge |
需要超过 16 个 CPU 的单节点服务选择 |
c5a.8xlarge 、c5.9xlarge 、m5.8xlarge |
需要少于 48 个 CPU 的多节点服务选择 |
c5.4xlarge 、c5a.4xlarge 、m5.4xlarge 、m4.4xlarge |
需要超过 48 个 CPU 的多节点服务选择 |
c5a.8xlarge 、c5.9xlarge 、m5.8xlarge 、m5a.8xlarge |