- 概述
- 要求
- 安装
- 安装后
- 集群管理
- 监控和警示
- 迁移和升级
- 特定于产品的配置
- 最佳实践和维护
- 故障排除
- 无法获取沙盒映像
- 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 支持捆绑包
- 探索日志
步骤 3:部署后步骤
使用 Azure 堡垒时,请记住,使用\拆分为多行的复制粘贴命令可能无法按预期工作。 为确保正确解释新行,请使用控制台的剪贴板微件。
验证安装
若要检查 Automation Suite 是否已成功安装,您必须转到标志容器内的存储帐户。 如果自动生成的名为installResult的文件(在容器中)的内容为successful ,则安装完成。 如果安装失败,则内容将为failed 。
更新证书
安装流程会代表您生成自签名证书。但是,您也可以通过 Azure 部署模板,选择在安装时提供由 CA 颁发的服务器证书,而不是使用自动生成的自签名证书。
自签名证书将在 90 天后过期,安装完成后,您必须将其替换为由受信任的 CA 签名的证书。如果不更新证书,安装将在 90 天后停止工作。
For instructions, see Managing certificates.
探索标志和日志
如果您需要有关 Automation Suite 安装流程或其他操作的更多信息,则可以从用于在集群部署和维护期间存储各种标志和日志的存储帐户入手。
若要找到存储帐户,请执行以下步骤:
-
导航到执行部署的资源组。
-
按资源类型“存储帐户”筛选。
-
找到名称以
st结尾的存储帐户。 例如: -
选择存储帐户,然后选择“容器” 。选项为标志和日志。
标志容器
标志容器存储编排所需的各种标志或文件,或仅用于报告各种操作的状态。 在新集群上,标志容器内容通常如以下示例所示:
标志容器中的文件用于编排各种操作,例如集群上的 Automation Suite 安装流程,或特定集群操作,例如实例刷新。 例如:
uipath-server-000000.success表示已在集群的该特定节点上成功完成基础架构安装;- 如果整体安装成功,则
installResult将显示为success。
日志容器
执行操作时,它通常会在日志容器中生成一个日志文件。 在新集群上,日志容器内容通常如以下示例所示:
日志容器中的每个文件都代表安装过程中特定步骤的日志。 例如:
infra-uipath-server-000000.log存储基础架构安装日志;fabric.log存储结构安装的日志;services.log存储应用程序和服务安装的日志。
访问部署输出
安装完成后,您需要访问“输出”选项卡中的“部署输出”。
为此,请转到“资源组”,然后转到“部署”→“主模板(或类似 Microsoft.Template- DateTime ”)→“输出”。
部署输出
| 输出 | 描述 |
|---|---|
| 文档 | 文档链接。 |
| URL | 负载均衡器 URL。可用于直接访问。 如果启用了自定义域,则此域将用于真实名称绑定。 |
| 密钥保险库 URL | 部署创建的密钥保险库的 Azure 门户 URL。它包含部署中使用的所有密码(凭据)。 |
| ArgoCDURL | The URL for accessing ArgoCD. This is available within the VNet. External access to this URL must be set up as described in: Step 4: Configuring the DNS. |
| ArgoCD 密码 | 用于登录 ArgoCD 门户的密码。 |
| 主机管理员用户名和主机管理员密码 | 用于主机管理员的凭据。 |
部署中使用的所有凭据都作为密码存储在部署期间配置的密钥保险库中。要访问密码,请在“资源组”中筛选资源,搜索“保险库”,然后单击“密码”。
如果您在“密码”选项卡下看到 The operation “List” is not enabled in the key vault’s access policy 警告,请执行以下步骤:
- 转到“访问策略”→“添加访问策略”→“配置模板”→“密码管理”→“选择主体”。
- 选择您的用户,然后单击“保存”。
- 导航回“密码”。警告应该消失,并且密码应该是可见的。
访问集群虚拟机
虚拟机需在私有 VNet 中加以配置。您可以按照以下步骤通过 Azure 堡垒对其加以访问:
-
导航到已部署 Automation Suite 的资源组。
-
由于代理、GPU 代理和服务器虚拟机位于规模集内,因此您必须转到包含所需实例的规模集。
-
转到“设置”选项卡中的“实例”部分。
-
选择要连接的虚拟机的名称。
-
选择“连接”按钮,然后从下拉菜单中选择“堡垒” 。
-
输入部署中提供的凭据( “管理员用户名”和“管理员密码”参数,您可以在“密码”下的凭据密钥保险库中找到这些凭据),然后选择“连接” 。
DNS 要求
As mentioned in Step 1: Preparing your Azure Deployment, the Automation Suite Azure deployment creates a Load Balancer with a public IP and a DNS label associated. This DNS label is Microsoft-owned.
该部署还在集群 VNet 内配置了一个私有 DNS 区域,并添加了在安装和配置流程中使用的几个记录。
如果您选择从外部计算机连接,则无法使用私有 DNS 区域来解析各种服务的 DNS,因此您需要将这些记录添加到主机文件中。
See Step 4: Configuring the DNS for more details.
现在,您应该能够连接到集群上运行的各种服务。
访问 Automation Suite 常规界面
通用的 Automation Suite 用户界面可用作组织管理员和组织用户的门户。它是常见的组织级别资源,每个人都可以从中访问 Automation Suite 的所有区域:管理页面、平台级别页面、特定于服务的页面和特定于用户的页面。
要访问 Automation Suite,请执行以下步骤:
- 转到以下 URL:
https://${Loadbalancer_dns},其中<loadbalancer_dns>是负载均衡器的 DNS 标签,位于“输出”下。 - 切换到默认组织。
- 用户名是组织管理员。
- 转到“密钥保险库” 、 “密码”和“主机管理员密码”,检索密码。
访问主机管理
主机门户是系统管理员配置 Automation Suite 实例的地方。从该门户配置的设置将由您的所有组织继承,有些设置可以在组织级别覆盖。
See Managing system administrators for more on host administrators.
See Interface tour for more on the host portal.
要访问主机管理,请执行以下步骤:
- 转到以下 URL:
https://${Loadbalancer_dns},其中<loadbalancer_dns>是负载均衡器的 DNS 标签,位于“输出”下。 - 切换到主机组织。
- 输入您先前指定的用户名作为UiPath 管理员用户名参数的值。
- 输入先前指定的密码作为“UiPath 管理员密码”参数的值。转到“密钥保险库” 、 “密码”和“主机管理员密码”,检索密码。
访问 ArgoCD
您可以使用 ArgoCD 控制台来管理已安装的产品。
要访问 ArgoCD,请执行以下步骤:
- Go to the following URL:
https://alm.${Loadbalancer_dns}, where<loadbalancer_dns>is the DNS label for the load balancer and is found under Outputs. Note that you must configure external access to this URL as described in Step 4: Configuring the DNS. - 用户名是管理员。
- 要访问密码,请转到“输出”选项卡或凭据密钥保险库。
访问 Rancher
Automation Suite 使用 Rancher 提供开箱即用的集群管理工具。这可帮助您管理集群以及访问监控和故障排除功能。
See Rancher documentation for more details.
See Using the monitoring stack for more on how to use Rancher monitoring in Automation Suite.
要访问 Rancher 控制台,请执行以下步骤:
-
转到以下 URL:
https://monitoring.${Loadbalancer_dns},其中<loadbalancerdns>是负载均衡器的 DNS 标签,可以在部署的“输出”中找到。 -
用户名是管理员。
-
要访问密码,请运行以下命令。
kubectl get secrets/rancher-admin-password -n cattle-system \ -o "jsonpath={.data['password']}" | echo $(base64 -d)kubectl get secrets/rancher-admin-password -n cattle-system \ -o "jsonpath={.data['password']}" | echo $(base64 -d)
扩展集群
从部署中配置的计算资源由 Azure 规模集组成,可轻松实现扩展。
您可以手动将其他资源添加到特定的规模集,包括添加服务器节点、代理节点或专用代理节点(例如 GPU 节点)。
您可以通过识别特定的规模集并直接添加资源来执行手动扩展。
为此,请执行以下步骤:
-
转到 Azure 门户并筛选特定的规模集:
-
选择适当的规模集,然后选择“缩放比例” 。
-
使用滑块或旁边的输入字段修改“实例计数”字段,然后选择“保存” 。
备注:对于服务器规模集,实例计数需要为奇数。
-
缩放操作应在后台启动,完成后即有新资源可用。
Azure 虚拟机生命周期操作
Azure 最多允许有15 分钟的时间来准备关闭,而 Automation Suite 节点的正常终止时间从 20 分钟(对于代理和 GPU 代理节点)到几个小时(对于服务器节点)不等。
只有多节点 HA 就绪生产部署支持 Runbook InstanceRefresh 、 RemoveNodes 、 RemoveServers和CheckServerZoneResilience 。
运行任何 Runbook 后的服务器数量必须为奇数,且必须大于三(例如,如果有 4 台服务器,则无法执行实例刷新;如果总共有 5 台服务器,则无法删除服务器)。
VMSS 中的所有虚拟机都应处于Running状态。
一次只能运行一个 Runbook。
InstanceRefresh
描述
InstanceRefresh Runbook 具有以下用例:
- 更新服务器、代理和 GPU 规模集上的 VMSS 操作系统 SKU。
- 为一个/多个 VMSS 执行节点轮换操作。
- 预先应用于 VMSS 的其他 VMSS 配置更改。
用法
-
转到 Azure 门户并搜索名为
InstanceRefresh的资源。 -
单击“开始” 按钮以打开参数列表。 考虑以下因素,完成参数:
-
仅当参数
REFRESH<node_type>设置为True时,才会对 VMSS 执行节点轮换操作。 如果将多个REFRESH<node_type>参数设置为True,则 VMSS 节点轮换顺序将为服务器 -> 代理 -> GPU 代理。 -
您必须提供
NEWOSVERSION参数才能更新 VMSS 操作系统 SKU。 您可以使用az vm image list-skus --location <deployment_location> --offer RHEL --publisher RedHat --output table找到可用的 Azure 市场虚拟机映像 SKU。 当前的虚拟机不会自动更新为最新模型(为此需要执行节点轮换操作)。单击“确定”按钮以启动 Runbook。
-
实施细节
InstanceRefresh Runbook 是RemoveNodes Runbook 的包装程序。 因此,系统会在运行RemoveNodes时跟踪状态。 它会更新所有 VMSS 操作系统版本(如果需要),并根据收到的参数提取节点轮换操作的主机名,并将其转发到RemoveNodes 。 如果集群恰好有三台服务器,则InstanceRefresh Runbook 将创建三台新服务器;否则, RemoveNodes将处理纵向扩展,以始终在每个可用区中至少维护一台服务器。
RemoveNodes
描述
RemoveNodes Runbook 具有以下用例:
- 从 Automation Suite 集群中删除指定节点。
- 为一个/两个虚拟机执行节点轮换操作。
用法
-
搜索要删除的节点的计算机名称。 为此,请转到 VMSS,然后单击
Settings部分中的Instances。 -
转到 Azure 门户并搜索名为
RemoveNodes的资源。 -
单击“开始” 按钮以打开参数列表。 请考虑以下因素,完成参数:
-
NODESTOBEREMOVEDCOMPUTERNAME是以逗号分隔的要删除的虚拟机的计算机名称列表(例如pxlqw-agent-000009,pxlqw-agent-00000A),并且是唯一的必需参数。 我们建议一次从单个 VMSS 中删除节点。 -
ISINSTANCEREFRESH和THREESERVERSSCENARIO是由InstanceRefresh包装程序填充的标志。单击“确定”按钮以启动 Runbook。
-
实施详细信息
The RemoveNodes runbook has a recursive approach to overcome the 3-hour fair share timeout. It removes or repaves the first or the first two nodes (the number is chosen in order to fulfill the odd number of servers constraint) from the received list and reruns another instance of the runbook with the remaining list.
节点的节点重新铺设操作需要执行以下步骤:
- 根据要删除的节点数量,使用一个或两个虚拟机横向扩展 VMSS。
- 对旧实例执行节点删除。
节点的节点删除操作需要执行以下步骤:
- 封锁并排空实例。 对于代理,此操作将在 20 分钟后超时,对于服务器,此操作将在
number_of_instances * 60分钟后超时。 - 停止实例上的 rke 服务。 操作将在 5 分钟后超时。
- 从 Automation Suite 集群中删除节点并删除虚拟机。 对于代理,此操作将在 20 分钟后超时,对于服务器,此操作将在
number_of_instances * 60分钟后超时。
RemoveServers
描述
RemoveServers Runbook 具有以下用例:
- 从 Automation Suite 集群中删除服务器。
用法
- 转到 Azure 门户并搜索名为
RemoveServers的资源。 - 单击“开始” 按钮以打开参数列表。 请考虑以下因素,完成参数:
-
REMOVEDSERVERSCOUNT是将要删除的服务器的数量。我们建议一次删除不超过 2 台服务器,以免遇到超长超时。
实施细节
RemoveServers Runbook 将从具有最多虚拟机的可用区中删除作为参数接收的服务器数量。
CheckServerZoneResilience
描述
CheckServerZoneResilience Runbook 可横向扩展服务器 VMSS,并使用RemoveServers Runbook 跨可用区平衡服务器。 这是InstanceRefresh流程的一部分,不应手动运行。
故障排除
- 如果虚拟机无法加入 Automation Suite 集群,系统将尝试回滚。 新创建的虚拟机将遵循与通常的节点删除相同的步骤(封锁、排出、停止 rke 服务、从集群中删除节点以及删除虚拟机)。 您可以在存储帐户中的日志容器内的
infra-<hostname>.log等 Blob 中找到加入节点过程的日志。 - 如果删除节点时失败,任何 Runbook 都将停止并显示失败步骤的日志。 修复此问题,手动或使用
RemoveNodesRunbook 完成该流程。 您可以在日志容器内找到存储帐户中的所有日志,如下所示:- 警戒线和排水管 –
<timestamp>-<runbook_abreviation>-drain_nodes.log - 停止 rke 服务 –
<timestamp>-<runbook_abreviation>-stop_rke.log - 从集群中删除节点 –
<timestamp>-<runbook_abreviation>-remove_nodes.log
- 警戒线和排水管 –
- In case of a timeout, you should wait for the step to finish its execution, check the logs, and complete the process manually or using the
RemoveNodesrunbook. All runbooks use the Azure Run Command feature to execute code in the context of the VMs. One limitation of this method is that it does not return the status of the execution. Therefore, the steps for cordoning, draining, and stopping the rke service run asynchronous, and the status is kept with blobs in the following format:<timestamp>-<runbook_abreviation>-<step_name>.<success/fail>.