automation-suite
2022.4
false
- 概述
- 要求
- 安装
- 安装后
- 集群管理
- 监控和警示
- 迁移和升级
- 特定于产品的配置
- 最佳实践和维护
- 故障排除
- 无法获取沙盒映像
- 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 支持包工具
- 探索日志
重要 :
请注意此内容已使用机器翻译进行了部分本地化。
Automation Suite 安装指南
Last updated 2024年11月4日
AWS 部署架构
-
Uipath-sf:
- SSL 堆栈
- 路由堆栈
- 服务器堆栈
- 数据库堆栈
- 备份堆栈
- 管理堆栈
-
Lambda 函数 (
AWS::Lambda::Function
):FindAMIFunction
– 用于查找匹配的 AMI ID。CreateInputJsonFunction
– 用于创建 Automation Suite 安装程序使用的配置。ComputeResourceSizeFunction
– 用于根据所选服务和部署类型计算所需的最低 EC2 实例硬件配置。
-
用于提供最低权限的 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
) – 允许访问数据库实例的安全组。
-
路由堆栈:注意: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 记录。
-
-
管理堆栈:
LifecycleAutomationLogs
(AWS::Logs::LogGroup
) – 用于记录来自 SSM 自动化的事件的日志组。-
用于提供正常节点删除的 SSM 文档 (
AWS::SSM::Document
) 步骤集:ServerRemoveInstanceDocument
AgentRemoveInstanceDocument
UpdateAMIDocument
– 更新自动调整组的 AMI ID。
-
Autoscaling Lyfecycle 挂钩 (
AWS::AutoScaling::LifecycleHook
) 允许我们在 EC2 实例收到实例终止事件时运行 SSM 文档:ServerAsgLifeCycleHookTerminating
AgentAsgLifeCycleHookTerminating
-
触发 SSM 文档执行的事件规则 (
AWS::Events::Rule
):ServerTerminateEventRule
AgentTerminateEventRule
-
运行 SSM 文档并将日志添加到日志组所需的 IAM 角色 (
AWS::IAM::Role
):AutomationAssumeRole
EventsBridgeAssumeRole
- 服务器堆栈:
-
ServerLaunchConfiguration
(AWS::EC2::LaunchTemplate
) – 服务器节点的 EC2 实例配置。磁盘配置:- 操作系统磁盘 – sku gp2,容量 128GiB
- 集群磁盘 – sku gp2,容量 300GiB
- etcd 磁盘 – sku io1,容量 32GiB
- 数据磁盘 – sku gp2,容量为 512GiB 或 2TiB,无论所选服务如何。
-
AgentLaunchConfiguration
(AWS::EC2::LaunchTemplate
) – 代理节点的 EC2 实例配置。磁盘配置:- 操作系统磁盘 – sku gp2,容量 128GiB
- 集群磁盘 – sku gp2,容量 300GiB
GpuEnabledNode
(AWS::EC2::Instance
) – 可选 GPU 节点。它具有与代理相同的磁盘配置。TaskMiningNode
(AWS::EC2::Instance
) - 可选 Task Mining 节点。仅在选择 Task Mining 服务时部署。它具有与代理相同的磁盘配置。BastionHost
(AWS::EC2::Instance
) – 可选 EC2 实例,用于通过 SSH 连接到集群节点。它具有t3.large
实例类型和 200GiB 的 gp2 磁盘。ServerAutoScalingGroup
(AWS::AutoScaling::AutoScalingGroup
) – 服务器的自动调整组。AgentAutoScalingGroup
(AWS::AutoScaling::AutoScalingGroup
) – 代理的自动调整组-
可选
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
该模板会动态计算部署所需的硬件,如下所示:
- 根据安装的服务(基本或完整产品选择),它会在集群级别设置最低要求。
- 根据部署配置文件(多节点或单节点配置文件),它设置单个虚拟机的最低要求。
- 根据实例在您部署区域中的可用性和上述要求选择实例类型。
下表显示了部署和可能的实例类型之间的映射关系:
部署类型 |
实例类型 |
---|---|
基本单节点 |
c5.4xlarge 、c5a.4xlarge 、m5.4xlarge 、m5a.4xlarge |
完整单节点 |
c5a.8xlarge 、c5.9xlarge 、m5.8xlarge |
基本多节点 |
c5.4xlarge 、c5a.4xlarge 、m5.4xlarge 、m4.4xlarge |
完整多节点 |
c5a.8xlarge 、c5.9xlarge 、m5.8xlarge 、m5a.8xlarge |