ACK One注册集群通过调整节点池的期望节点数实现节点池扩缩容,将节点数目维持在期望数量。扩容节点池功能可以保证节点数量足够支撑业务运行,缩容可以节省成本。扩缩容节点池均可自动化执行,提升运维效率。
前提条件
已创建ACK One注册集群,并已将本地数据中心自建Kubernetes集群接入ACK One注册集群。具体操作,请参见创建ACK One注册集群。
已配置节点池自定义脚本并创建节点池,具体操作,请参见创建节点池。
节点池扩缩容介绍
期望节点数是指节点池应该维持的节点数量,代表节点池终态的节点数。指定节点池的期望节点数后,节点池将会根据当前节点池内节点数自动触发扩容或缩容,将节点数目维持在期望数量,无需人工干预。
扩容节点池
设定期望节点数大于当前节点池的节点数时,系统将触发节点池扩容。您可以通过增大期望节点数的方式扩容节点池。在出现弹出节点失败的情况下,系统也会自动进行重试,直至节点池现有节点数满足期望节点数。
在节点池的扩容过程中,将按照实际创建和使用的规格计费。例如,如果某一节点池同时配置2类实例规格,付费类型为按量付费,扩缩容策略配置为优先级策略。本次扩容在第一优先级的虚拟交换机所在的可用区新增了2个节点A,并在节点A资源不足时在第二优先级的虚拟交换机所在的可用区新增了3个节点B,那么1小时的费用为实例规格单价 x 节点数量 x 计费时长
,即节点A单价 x 2 x 1+ 节点B单价 x 3 x 1
。
节点池扩容包含两个步骤。
弹出ECS实例:ACK节点池底层依赖ESS(弹性伸缩服务)弹出节点。调整期望节点数后,ACK会修改ESS伸缩组期望实例数,根据节点池配置执行扩容,节点池将显示为扩容中。ESS成功弹出ECS实例后,节点池将显示为已激活。关于期望实例数的更多信息,请参见期望实例数。
神龙裸金属GPU实例(ecs规格族为ebmgn7、ebmgn7e)不支持自动MIG清理,因此ACK添加该类型节点时会对已有的MIG设置进行重置。由于重置时间不定,可能会出现重置时间过长导致自动添加节点失败。
排查失败原因,请参见裸金属实例节点添加失败怎么办?。
关于ebmgn7e,请参见GPU计算型(gn/ebm/scc系列)。
将ECS实例添加到集群:ESS弹出ECS实例后,实例将自动运行
cloud-init
脚本(由ACK维护),对节点进行初始化,并将节点加入到节点池。运行的日志将保存到节点/var/log/messages文件中。您可以登录节点执行grep cloud-init /var/log/messages
查看执行日志。如果节点成功加入到节点池,将会自动清除
/var/log/messages
中的日志信息,因此日志仅作为节点添加到集群失败的参考信息。如果添加节点到集群失败,
/var/log/messages
中的日志信息也将被截取关键信息到Task结果中。您可以单击目标集群,在集群任务页签查看原因。
缩容节点池
设定期望节点数小于当前节点池的节点数,系统将触发节点池的缩容并移除节点。
缩容节点时:
如果节点池扩缩容策略选择优先级策略,系统会选择最新创建的实例进行缩容。
如果节点池扩缩容策略选择均衡分布策略,系统会按照均衡发布策略筛选ECS实例的可用区,再选择最新创建的实例进行缩容,使移出ECS实例后伸缩组各可用区的ECS实例数量大致相当。
如果节点池扩缩容策略选择成本优化策略,系统缩容时会按照vCPU单价从高到低尝试移出ECS实例。
通过期望节点数缩容节点,即使节点排水失败,节点仍会被移除。若您对节点排水有强需求,请使用指定节点移除。具体操作,请参见移除节点池内节点。
缩容节点时,包年包月的ECS实例不会被释放,如果需要释放包年包月的实例,请登录ECS管理控制台,将包年包月的实例转换为按量付费的节点后再尝试释放。如需将包年包月实例转按量付费,请参见包年包月转按量付费。
操作步骤
登录容器服务管理控制台,在左侧导航栏选择集群列表。
在集群列表页面,单击目标集群名称,然后在左侧导航栏,选择 。
在目标节点池列表的操作列,单击更多 > 扩缩容。
填写期望节点数,按页面提示提交配置。
在节点池列表的状态列,若显示扩容中,表明节点池正在扩容中。若显示已激活,表明扩容已完成。
集群扩容节点时,如果安全组拒绝访问100.64.0.0/10,会导致节点无法正常加入到集群。
在节点池列表的状态列,若显示移除节点中,表明节点池正在缩容中,若显示已激活,表明缩容已完成。
相关文档
如需将集群中的节点移出集群,请参见移除节点池内节点了解具体操作及注意事项。
节点池相关的最佳实践,例如基于部署集将节点分散部署在不同的物理服务器上以实现高可用、基于抢占式实例创建节点池等,请参见节点与节点池最佳实践。
- 本页导读
- 前提条件
- 节点池扩缩容介绍
- 扩容节点池
- 缩容节点池
- 操作步骤
- 相关文档