为了便于对云上ECS节点进行分组管理和操作,ACK One注册集群提供节点池功能以接入云上ECS算力。节点池是一个或一组节点的逻辑集合,允许您对节点进行统一管理和运维,例如节点升级、自动弹性伸缩等。通过创建多个节点池,您可以进一步实现资源的隔离,例如为不同类型的工作负载部署独立的节点池,分组管理不同属性的节点等。
节点池概念
简单来说,您可以将节点池理解为一个配置模板,后续节点池中扩容出的节点都将使用它的配置。一个集群中可以创建多个不同配置和类型的节点池。节点池的配置包含节点的属性,例如节点实例规格、计费类型、可用区(vSwitch)、操作系统镜像、CPU架构、标签和污点等。这些属性可以在创建节点池时指定,也可以在创建完成后进行编辑修改。关于如何创建节点池,请参见创建与管理节点池。
您可以使用单节点池,减少管理和配置的复杂性,也可以使用多节点池,实现更精细的资源隔离和不同类型节点的混合部署管理。
单节点池 | 多节点池 |
单节点池 | 多节点池 |
通过一个节点池管理多个团队或多种工作负载的计算资源,简化操作和维护工作。单节点池可支持以下功能。
目前不支持混合不同操作系统类型和CPU架构(Arm和x86)的实例。 | 创建多个节点池,为不同工作负载或团队提供独立的计算资源,从而避免资源争用和潜在的安全风险。适用于以下场景。
|
使用多节点池,您可以通过调度策略定义不同节点池的优先级顺序,以优化资源和成本管理。例如以下场景。
控制不同成本的计算资源供给(例如抢占式实例、包年包月实例等)的优先级顺序,以降低成本。
根据工作负载需求,按比例分配不同类型的实例,例如x86架构和Arm架构的使用比例。
节点池创建流程
节点池基础功能
ACK One注册集群在节点池维度提供了多种能力,便于节点的管理。
功能项 | 说明 |
功能项 | 说明 |
| |
| |
| |
标签(Labels)和污点(Taints)可用于管理和调度集群中的资源。标签支持对Kubernetes对象(例如节点)进行标识和分类 ;污点可以使Pod排斥一类特定的节点,让这些Pod不被调度到某节点上。 | |
如果不再需要某些节点,可将节点从节点池中移除。请按标准化操作移除,避免出现预期外行为。 |
节点池计费
相关术语
首次使用节点池前,建议您了解节点池相关的概念术语。
伸缩组:当对节点池进行扩容和缩容时,ACK通过弹性伸缩ESS服务下发扩容和移除节点的操作。节点池与弹性伸缩组实例为一一对应的关系。一个伸缩组是一个或多个ECS实例(Worker节点)的合集。
伸缩配置:节点池底层使用伸缩配置管理节点配置。ESS伸缩配置是弹性伸缩时ECS实例使用的模板。当弹性伸缩触发弹性扩张活动后,弹性伸缩以该伸缩配置为模板自动创建ECS实例。
伸缩活动:节点池的每次扩缩容、添加节点、移除节点都会触发伸缩活动。触发伸缩活动后,所有扩容和缩容动作都交由系统自动完成,并留下相关记录。您可以通过节点池的伸缩活动查看节点池的历史伸缩活动记录。
替换系统盘:节点池的某些操作,例如自动添加已有节点、更换容器运行时等,会通过替换节点系统盘(替盘升级)的方式初始化节点。该节点的实例属性不发生改变,例如节点名称、实例ID、IP等,但节点系统盘上的数据将被删除。额外挂载到该节点上的数据盘不受影响。
ACK执行替盘时会进行节点排水操作,遵循Pod Disruption Budget(PDB)的前提下将节点上的Pod驱逐至其他可用节点。为确保服务高可用性,建议您采用多副本部署策略,将工作负载分散在多个节点上,同时为关键业务配置PDB,控制同时中断的Pod数量。
原地升级:与替盘升级对应的一种升级方式,直接在原节点上更新替换所需的组件。原地升级不会替换系统盘,也不会重新初始化节点,原节点的数据不受影响。
- 本页导读 (1)
- 节点池概念
- 节点池创建流程
- 节点池基础功能
- 节点池计费
- 相关术语