节点自动恢复是指当集群托管节点池中的节点发生异常时,ACK会自动发起节点恢复操作,使节点保持正常运行状态。节点池为托管节点池或开启托管后,节点池中的节点将同时开启自动恢复功能。ACK将持续关注托管节点池中的节点状态,并根据异常的场景发起恢复操作。本文介绍节点自动恢复的场景和流程。
索引
- 前提条件
- 触发条件
- 恢复流程
- 自动恢复事件
- 常见问题
- 自动恢复失败怎么办?
- 如何忽略某节点的自动恢复?
- 相关文档
前提条件
- 已创建托管节点池或开启托管节点池。具体操作,请参见管理托管节点池。
- 已开启事件中心。具体操作,请参见事件监控。
触发条件
重要 节点自动恢复的过程中可能涉及节点的排水、替盘等操作,建议将数据保存在数据盘中。
ACK会根据节点的运行状态(Condition)等信息判断是否发起自动恢复任务。您可以执行kubectl describe node
命令,通过condition
字段查看节点的运行状态。当节点的运行状况异常,且异常持续时间超过阈值时间时,ACK会发起节点自动修复行为。
具体触发条件如下表所示。
检测项目 | 描述 | 风险等级 | 阈值时间 | 自动修复行为 |
KubeletNotReady(KubeletHung) | Kubelet意外停止工作,导致节点NotReady。 | 高 | 180s |
|
KubeletNotReady(PLEG) | PLEG健康检查失败,导致节点NotReady。 | 中 | 180s |
|
KubeletNotReady(SandboxError) | PodSandbox not found,导致Kubelet无法正常启动。 | 高 | 180s |
|
RuntimeOffline | Docker或Containerd停止工作,节点不可用。 | 高 | 90s |
|
NTPProblem | 时间同步服务(ntpd或chronyd)异常。 | 高 | 10s | 重启ntpd或chronyd。 |
SystemdOffline | Systemd状态异常,无法启动、销毁容器。 | 高 | 90s | 重启ECS实例。 |
ReadonlyFilesystem | 节点文件系统变为只读。 | 高 | 90s | 重启ECS实例。 |
恢复流程
节点的自愈功能包括问题诊断、恢复决策和恢复任务。
重要 节点诊断依赖NPD组件和事件中心。使用自愈功能前,请确保已正确安装NPD和事件中心。具体操作,请参见事件监控。一个完整的恢复流程中,节点会在以下状态流转。
- 正常:当前节点不存在可被发现的故障。
- 故障:当前节点发现故障。
- 修复失败:当前节点在恢复任务后无法恢复。
- 当节点的运行状态发生变化并持续一段时间后,ACK将判定该状态符合故障状态,存在节点故障。
- 当发现节点故障时,ACK会根据故障原因触发对应恢复任务,并记录相应的事件。
- 当恢复任务完成后,故障状态解除,节点恢复正常状态。
- 当恢复任务完成后,故障状态依然存在,节点会被置为修复失败状态。
说明
- 如果集群中存在多个节点池,节点池之间的节点自动恢复可以并行执行。
- 如果一个节点池存在多个异常节点,自动恢复会以串行的方式逐个恢复。一旦某个节点修复失败,ACK将停止对该节点池中其他故障节点的修复。
- 当节点处于修复失败状态时,该节点不会再触发自动恢复操作。相应的故障解除后,该节点才能再次进行自动恢复操作。
自动恢复事件
ACK触发自动恢复时,会将相关的事件写入事件中心。您可以在集群信息页面选择运维管理 > 事件中心,查看自动恢复的记录和具体操作。
事件原因 | 事件级别 | 事件描述 |
NodeRepairStart | Normal | 节点开始修复。 |
NodeRepairAction | Normal | 节点修复操作,例如重启Kubelet。 |
NodeRepairSucceed | Normal | 节点修复成功。 |
NodeRepairFailed | Warning | 节点修复失败。
如遇相关问题,请参见常见问题。 |
NodeRepairIgnore | Normal | 节点修复跳过,当ECS处于非运行状态时,不对节点进行操作。 |
常见问题
自动恢复失败怎么办?
由于故障的复杂性,自动恢复任务无法恢复所有的故障场景。当节点自动恢复任务执行失败,或者恢复任务执行完毕后故障并未解除,ACK会将节点标记为修复失败状态。
如果托管节点池中修复某个节点失败,在故障修复前,该节点池不会再触发自动恢复操作。您可以提交工单联系技术支持,手动修复故障。
如何忽略某节点的自动恢复?
如果托管节点池中的某个节点需要暂时忽略自动恢复,您可以为该节点添加以下Label:
alibabacloud.com/repair.policy=disable
相关文档
- 管理托管节点池
- 节点与节点池FAQ
内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家
阿里云企业补贴进行中: 马上申请
腾讯云限时活动1折起,即将结束: 马上收藏
同尘科技为腾讯云授权服务中心。
购买腾讯云产品享受折上折,更有现金返利:同意关联,立享优惠
转转请注明出处:https://www.yunxiaoer.com/170671.html