创建自定义弹性伸缩策略

更新时间:
复制 MD 格式

自定义弹性伸缩策略通过多条按时间执行的规则,在指定时间把节点数调整到目标值,适用于负载有明确时间规律的场景。例如白天写入高峰扩容Data Node、夜间缩容,既避免高峰期索引构建慢、查询抖动,也避免低峰期资源闲置。

使用限制

该策略在控制台的弹性伸缩配置页面显示为自动弹性伸缩规则 (按时间)。阿里云Milvus同一实例在同一时间只能启用一种弹性伸缩策略:如果业务负载没有固定的时间规律,建议改用托管弹性伸缩,由系统在设定的容量范围内自动判断伸缩时机,配置方法请参见创建托管弹性伸缩策略。切换策略后,原策略的规则会停止生效,但不会被删除。

  • 实例规格为标准版入门版不支持弹性伸缩。

  • 实例状态为运行中,其他状态下弹性伸缩策略不可配置。

  • 引擎版本满足节点类型对应的最低版本要求,详情请参见下表。若实例详情页不展示弹性伸缩页签,表示当前实例的版本或规格不支持弹性伸缩。

  • 单个节点类型最多配置10条弹性规则,且同一节点类型不允许在同一时间配置多条规则。

  • 单个实例只有一个执行时区,规则的执行时间基于该时区(例如 Asia/Shanghai),不做跨时区转换。

  • 元数据服务不支持弹性伸缩。可配置的节点类型随实例版本、规格和部署形态变化,以页面实际展示为准。

各节点类型支持弹性伸缩的最低引擎版本如下。

节点类型

2.4

2.5

2.6

Data Node

2.4.23-0.4.3_3.8.0 及以上

2.5.12-0.6.2_3.8.0 及以上

支持

Index Node

2.4.23-0.4.3_3.8.0 及以上

2.5.12-0.6.2_3.8.0 及以上

-

Query Node

2.4.23-0.5.0_3.11.0 及以上

2.5.12-0.7.0_3.11.0 及以上

2.6.18-0.1.3_3.11.0 及以上

Proxy Node

2.4.23-0.5.0_3.11.0 及以上

2.5.12-0.7.0_3.11.0 及以上

2.6.18-0.1.3_3.11.0 及以上

Streaming Node

-

-

2.6.18-0.1.3_3.11.0 及以上

元数据服务

不支持

不支持

不支持

说明

低于上述版本的实例升级引擎版本后即可使用弹性伸缩,操作请参见升级版本

计费说明

  • 包年包月实例:实例总资源量 = 基础资源量 + 弹性资源量。基础资源量(包年包月)不参与弹性伸缩;弹性资源量采用按量计费,需先手动开通按量资源组

  • 按量计费实例:默认已开通按量资源组,不区分基础资源与弹性资源,所有资源均视为按量资源组内资源。

  • 弹性扩出的节点按实际使用时长计费,缩容释放节点后停止计费。

步骤一:进入弹性伸缩页面

  1. 登录阿里云Milvus控制台

  2. 在左侧导航栏,单击实例列表

  3. 在顶部菜单栏,选择目标地域。

  4. 在实例列表中,单击目标实例名称。

  5. 在实例详情页,单击弹性伸缩页签。

步骤二:(可选)开通按量资源组

弹性规则使用的弹性资源采用按量计费模式。按量计费实例默认已开通按量资源组,可跳过本步骤;包年包月实例需先开通按量资源组,才能配置弹性规则。

  1. 弹性伸缩配置页面,查看按量资源组的状态。

  2. 若状态为未开通,单击开通按量资源组,并在确认对话框中单击确认

  3. 开通后,可单击配置按量资源组手动调整按量资源组的节点数:

    • 扩容:节点数上限为50个,双可用区高可用实例步长为2。按量资源组的节点规格与基础资源一致,不支持修改。

    • 缩容:节点数下限为0,双可用区高可用实例步长为2。

    说明

    弹性伸缩期间实例会短暂进入弹性扩容或弹性缩容状态,此期间无法对实例执行其他变配操作;规则处于执行中状态时,不允许编辑、停用或删除该规则。

步骤三:新增弹性规则

  1. 弹性伸缩配置页面,选择自动弹性伸缩规则 (按时间)

  2. 单击新增弹性规则

  3. 在弹出的新增弹性规则对话框中配置以下参数,然后单击确定

参数

说明

规则名称

必填。长度为1~64个字符,不支持特殊字符;同一实例内规则名称不允许重复。

执行间隔

必填。选择每天时,指定24小时制的执行时间点,精确到分钟,规则每天执行一次;选择使用 Cron 表达式时,通过标准5位 Cron 表达式自定义执行计划,适用于更灵活的调度场景。

节点类型

必选,单选。规则生效时需要伸缩的节点类型,例如 Data Node。可选项以页面实际展示为准。

节点规格

弹性节点的规格,由实例当前资源规格决定,不支持在本对话框中修改。

弹性资源量(节点数)

规则生效时,选定节点类型的按量资源量将被调整到该目标值。包年包月实例取值范围为0~50;按量计费实例的下限为该节点类型的最小节点数(Data Node 为1,Index Node 为1,Streaming Node 为2),上限为50。双可用区高可用实例的节点数步长为2。

说明

单个节点类型的弹性规则数量达到上限(10条)后无法继续创建,需先删除部分规则。

配置示例

以下两条规则为 Data Node 配置日间扩容、夜间缩容:每天09:00扩容至2个弹性节点应对写入高峰,每天22:00缩容至0释放资源。

参数

示例一:日间扩容

示例二:夜间缩容

规则名称

day-scale-out

night-scale-in

执行间隔

每天 09:00

每天 22:00

节点类型

Data Node

Data Node

弹性资源量(节点数)

2

0

管理弹性规则

规则创建后展示在自动弹性伸缩规则 (按时间)列表中,列表展示规则的规则 ID / 规则名称节点类型目标资源量执行周期,并在操作列提供以下操作。

编辑规则

  1. 找到目标规则,单击修改

  2. 在弹出的编辑弹性规则对话框中修改参数,然后单击确定

说明

节点类型不可修改,其余参数均可调整。规则处于执行中状态时不允许编辑。

启用或停用规则

通过切换规则的启用或停用状态控制规则是否生效,无需删除规则。找到目标规则,单击启用停用,并在确认对话框中确认。

说明

停用后该规则不再触发弹性伸缩活动,已经执行的伸缩结果不受影响。规则处于执行中状态时不允许切换状态。

删除规则

找到目标规则,单击删除,并在确认对话框中确认。

说明

删除后该规则不再触发弹性伸缩活动,已经执行的伸缩结果不受影响。规则处于执行中状态时不允许删除。

修改执行时区

  1. 弹性伸缩配置页面,单击切换时区

  2. 选择目标时区,单击确定

说明

实例下存在弹性规则时无法修改时区,需先清空全部弹性规则。

查看历史伸缩活动

弹性伸缩页签,单击弹性伸缩概览,查看历史弹性伸缩记录。

字段

说明

规则名称

触发本次伸缩活动的规则名称。

组件类型

本次伸缩涉及的节点类型。

状态

伸缩活动的执行状态,包括待执行、执行中、成功、失败、已拒绝和已取消。

开始时间、结束时间

伸缩活动的开始和结束时间。

描述

伸缩活动的详细描述信息,伸缩失败时可据此定位原因。

常见问题

弹性伸缩会影响正在运行的查询和写入吗?

不会中断正在运行的查询和写入链路。扩容主要涉及新增节点的分配和初始化,通常只需几分钟,完成后实例会自动进行数据再平衡。缩容采用优雅下线(Decommission)机制:系统先将被移除节点上的数据迁移到剩余节点,确认数据完整后才释放节点资源,迁移时间受集群负载影响,优雅下线超时时间默认为1小时,超时后系统将强制完成缩容。

相关文档