托管节点池概述

如果您希望将节点进行分组纳管,同时降低节点的运维负担,例如操作系统(OS)CVE漏洞自动修复、kubelet自动升级、节点故障时重启节点等,您可以启用托管节点池。托管节点池是ACK推出的自动化运维型节点池,在普通节点池的基础上支持多种自定义运维能力。

托管节点池介绍

使用场景

  • 只关注上层应用开发,不希望花费过多精力运维Worker节点。

  • 对底层节点的变更不敏感,业务Pod对迁移有较高的容忍度,更加关注业务的弹性而非不可变性。

架构图

托管节点池

注意事项

准备工作

  • 托管节点池提供自动化运维能力,需要配置集群维护窗口才可使用。您可以单击托管节点池的操作列的托管配置,在托管配置页面配置维护窗口。

  • 托管节点池支持操作系统(OS)CVE漏洞修复,使用该功能需要开通云安全中心的旗舰版且保证配额充足。ACK不额外收取费用。具体操作,请参见购买云安全中心功能特性

  • ACK建议您务必开启事件中心,否则将无法接收托管节点池的告警事件。关于开启事件中心的具体操作,请参见事件监控

  • ACK建议您务必安装ack-node-problem-detector,否则将无法检测节点的异常情况。关于ack-node-problem-detector的具体说明,请参见ack-node-problem-detector

使用须知

  • 节点池升级

    ACK采用替换系统盘的方式执行托管节点池的节点升级时,会删除节点系统盘上的数据。数据盘内的数据不受影响,请勿在系统盘上存储任何持久化数据。

  • 排水

    托管节点池在替盘升级前会执行节点下线与排水,因此会造成Pod的重启、长连接的中断。执行排水操作时,ACK会先尝试通过cordon命令或者容器服务管理控制台将节点设置为不可调度,然后驱逐该节点上的Pod。建议服务后端采用多副本部署在多个节点上,同时为重要应用配置PDB,以避免节点上Pod被驱逐后影响服务的整体可用性。

  • 自愈:

    托管节点池会监控节点的运行状态,如果节点超过10分钟未上报节点状态,或者状态为NotReady,容器服务会尝试通过重启故障节点来恢复潜在的故障。因此,节点上的Pod会被重启。

托管节点池与普通节点池的区别

ACK提供普通节点池和托管节点池。在集群和节点池运行状态正常的情况下,您可以在节点池列表的操作列,单击开启托管关闭托管,转换节点池类型。

  • 普通节点池:为您提供管理一组同质节点的能力,同一个节点池的节点具有相同的配置,例如规格、标签(Label)、污点(Taint)。您可以自行运维普通节点池内的节点。

  • 托管节点池:在普通节点池的基础上,提供操作系统CVE漏洞自动修复能力,自动触发故障节点修复等能力,从而实现托管节点池的自动化运维。

    说明

    托管节点池的自动运维能力可以简化节点运维工作,但部分复杂的节点故障可能仍需人工修复。关于节点自动恢复的更多信息,请参见开启节点池节点故障自动恢复

托管节点池与普通节点池具体的对比项及说明如下表所示。

对比项

普通节点池

托管节点池

运维能力

由您自行管理。

部分运维托管于容器服务。

故障修复

手动触发。

自动检测并触发故障修复。支持配置是否允许重启节点来修复故障。

操作系统(OS)CVE修复

由您手动触发操作系统CVE修复。

支持自动触发操作系统CVE漏洞修复,包括高危、中危和低危漏洞。

kubelet小版本升级

由您手动触发kubelet升级。

可配置自动升级kubelet小版本。

containerd运行时升级

由您手动触发运行时升级。

可配置自动升级containerd运行时。当containerd有重大操作系统CVE漏洞时,默认自动升级修复。

ECS系统事件自动响应

由您自行响应ECS系统事件。

支持ECS系统事件的自动响应。

目前支持的系统事件类型如下。

  • 因系统维护实例重启(SystemMaintenance.Reboot)

    自动响应流程

    1. ACK接收到事件后,同步发送短信或站内信通知。请及时关注。

    2. 针对受影响的ECS实例执行节点排水,将节点上Pod迁移到其他可用的节点,并重启ECS实例。

      • 如果节点池在ECS设定的计划执行时间前有可用的维护窗口,ACK会在维护窗口内执行自动响应流程。否则,ACK会在ECS计划执行时间的前一个小时执行该流程。

      • 排水操作会驱逐节点上的Pod。服务应用后端应采用多副本部署在多个节点上,同时建议为重要应用配置PDB,以避免节点上Pod被驱逐后影响服务的整体可用性。

      • 若排水失败,ACK不会尝试强制重启实例。

相关文档

  • 创建、查看、编辑、扩缩容、删除节点池,添加已有节点以及移除节点等,请参见节点池管理

  • 节点池升级,托管节点池节点自动恢复以及节点池操作系统CVE修复等,请参见节点池运维

  • 节点池部署集最佳实践,抢占式实例节点池最佳实践以及迁移游离节点至节点池等,请参见节点池最佳实践

  • 节点与节点池相关问题,请参见节点与节点池FAQ