赛尔校园公共服务平台 Logo
平台使用
阿里云
百度云
移动云
智算服务
教育生态
登录 →
赛尔校园公共服务平台 Logo
平台使用 阿里云 百度云 移动云 智算服务 教育生态
登录
  1. 首页
  2. 阿里云
  3. ACK Edge集群
  4. 操作指南
  5. 节点池管理
  6. 云端节点池管理
  7. 节点池运维
  8. 开启节点池节点故障自动恢复

开启节点池节点故障自动恢复

  • 节点池运维
  • 发布于 2025-04-21
  • 0 次阅读
文档编辑
文档编辑

托管节点池自动监控节点状态,确保节点正常运行。当节点发生异常时,ACK会自动执行恢复操作。将节点池设置为托管模式会为所有节点同时开启自动恢复功能,简化节点运维工作。本文介绍节点自动恢复的应用场景和处理流程。

前提条件

  • 已开启节点池的托管能力,请参见创建和管理节点池。

  • 已开启事件中心。具体操作,请参见事件监控。

触发条件

重要

当您打开了必要时重启节点以修复CVE漏洞开关,节点自动恢复的过程中则可能涉及节点的排水、替盘等操作,建议将数据保存在数据盘中。

ACK会根据节点的运行状态condition等信息判断是否发起自动恢复任务。您可以执行kubectl describe node命令,通过condition字段查看节点的运行状态。当节点的运行状况异常,且异常持续时间超过阈值时间(即故障发生多长时间后会触发自动恢复任务)时,ACK会发起节点自动恢复行为。

具体触发条件如下表所示。

检测项目

描述

风险等级

阈值时间

自动恢复行为

KubeletNotReady(KubeletHung)

kubelet意外停止工作,导致节点NotReady。

高

180s

  1. 重启kubelet。

  2. 如果打开了必要时重启节点以修复CVE漏洞开关,则重启ECS实例。

KubeletNotReady(PLEG)

PLEG健康检查失败,导致节点NotReady。

中

180s

  1. 重启containerd或Docker。

  2. 重启kubelet。

  3. 如果打开了必要时重启节点以修复CVE漏洞开关,则重启ECS实例。

KubeletNotReady(SandboxError)

PodSandbox not found,导致kubelet无法正常启动。

高

180s

  1. 删除对应的Sandbox容器。

  2. 重启kubelet。

RuntimeOffline

containerd或Docker停止工作,节点不可用。

高

90s

  1. 重启containerd或Docker。

  2. 如果打开了必要时重启节点以修复CVE漏洞开关,则重启ECS实例。

NTPProblem

时间同步服务(ntpd或chronyd)异常。

高

10s

重启ntpd或chronyd。

SystemdOffline

Systemd状态异常,无法启动、销毁容器。

高

90s

如果打开了必要时重启节点以修复CVE漏洞开关,则重启ECS实例。

ReadonlyFilesystem

节点文件系统变为只读。

高

90s

如果打开了必要时重启节点以修复CVE漏洞开关,则重启ECS实例。

恢复流程

节点的自愈功能包括问题诊断、恢复决策和恢复任务。

重要

节点诊断依赖NPD组件和事件中心。使用自愈功能前,请确保已正确安装NPD和事件中心。具体操作,请参见事件监控。

一个完整的恢复流程中,节点会在以下状态流转。

  • 正常:当前节点不存在可被发现的故障。

  • 故障:当前节点发现故障。

  • 恢复失败:当前节点无法恢复。

节点自动恢复.png

  1. 当节点的运行状态发生变化并持续一段时间后,ACK将判定该状态符合故障状态,存在节点故障。

  2. 当发现节点故障时,ACK会根据故障原因触发对应恢复任务,并记录相应的事件。

    • 当恢复任务完成后,故障状态解除,节点恢复正常状态。

    • 当恢复任务完成后,故障状态依然存在,节点会被置为恢复失败状态。

说明
  • 如果集群中存在多个节点池,节点池之间的节点自动恢复可以并行执行。

  • 如果一个节点池存在多个异常节点,自动恢复会以串行的方式逐个恢复。一旦某个节点恢复失败,ACK将停止对该节点池中其他故障节点的恢复。

  • 当节点处于恢复失败状态时,该节点不会再触发自动恢复操作。相应的故障解除后,该节点才能再次进行自动恢复操作。

  • 部分复杂的节点故障可能仍需要人工修复。

自动恢复事件

ACK触发自动恢复时,会将相关的事件写入事件中心。您可以在集群信息页面选择运维管理 > 事件中心,查看自动恢复的记录和具体操作。

内容

级别

详细描述

NodeRepairStart

Normal

节点开始恢复。

NodeRepairAction

Normal

节点恢复操作,例如重启kubelet。

NodeRepairSucceed

Normal

节点恢复成功。

NodeRepairFailed

Warning

节点恢复失败。

如遇相关问题,请参见常见问题。

NodeRepairIgnore

Normal

节点恢复跳过,当ECS处于非运行状态时,不对节点进行操作。

常见问题

自动恢复失败怎么办?

由于故障的复杂性,自动恢复任务无法修复所有的故障场景。当节点自动恢复任务执行失败,或者恢复任务执行完毕后故障并未解除,ACK会将节点标记为恢复失败状态。

如果托管节点池中恢复某个节点失败,在故障修复前,该节点池不会再触发自动恢复操作。您可以提交工单联系技术支持,手动修复故障。

如何忽略某节点的自动恢复?

如果托管节点池中的某个节点需要暂时忽略自动恢复,您可以为该节点添加以下Label。

alibabacloud.com/repair.policy=disable

相关文档

如果您想通过移除故障节点并重新添加的方式解决问题,请在容器服务管理控制台的节点池页面操作。详细信息,请参见移除节点、添加已有节点。

请勿执行以下操作:

  • 通过kubectl delete node方式移除节点。

  • 通过ECS控制台、ESS控制台移除和添加节点。

相关文章

节点池生命周期 2025-04-21 11:17

ACK集群节点池的生命周期涉及多个阶段和状态,从节点池的创建部署、运行维护(扩容缩容、更新升级、节点移除等),到最终的删除。本文介绍节点池的全生命周期,帮助您更好地理解和管理节点。 ACK集群节点池在不同状态下的含义和集群的状态流转图如下。

升级节点池 2025-04-21 11:17

升级集群Kubernetes版本时,请在控制面升级后及时在业务低峰期完成节点池的升级。节点池升级包括kubelet升级和容器运行时升级。执行升级操作前,ACK会提供前置检查,识别并提示可能影响升级的风险因素,以便实现平滑升级。 注意事项

更换操作系统 2025-04-21 11:17

ACK集群会定期发布新的操作系统镜像版本,带来新的功能特性、功能优化和缺陷修复,请及时升级节点池的操作系统镜像版本。您也可以按需切换操作系统类型,例如将已经停止维护(EOL)的操作系统更换为支持中的操作系统。 您可以参见操作系统镜像发布记录了解ACK支持的操作系统类型、操作系统镜像最新版本,以及部分

开启节点池节点故障自动恢复 2025-04-21 11:17

托管节点池自动监控节点状态,确保节点正常运行。当节点发生异常时,ACK会自动执行恢复操作。将节点池设置为托管模式会为所有节点同时开启自动恢复功能,简化节点运维工作。本文介绍节点自动恢复的应用场景和处理流程。 前提条件

修复节点池操作系统CVE漏洞 2025-04-21 11:17

节点操作系统中的CVE漏洞可能带来集群数据泄露、服务中断等问题,对集群的稳定性、安全性、合规性造成威胁。您可以启用操作系统(OS)CVE漏洞修复功能,扫描节点上存在的安全漏洞,获得修复建议与方法,并在控制台上完成快速修复。 前提条件

自定义节点池kubelet配置 2025-04-21 11:17

当kubelet参数默认配置无法满足业务需求、您希望对集群节点进行个性化调整时,您可以在节点池维度自定义节点的kubelet参数配置,调整节点行为。例如,您可以调整集群资源预留以调配资源用量、自定义节点压力驱逐阈值以缓解集群资源不足、调整拓扑管理器策略以提高系统性能等。 使用限制

目录
Copyright © 2025 your company All Rights Reserved. Powered by 赛尔网络.
京ICP备14022346号-15
gongan beian 京公网安备11010802041014号