创建托管弹性伸缩策略
托管弹性伸缩由系统根据业务负载在设定的容量范围内自动增减节点,只需为节点类型设置最小节点数和最大节点数,无需人工判断伸缩时机,适用于负载变化没有固定规律的场景,也是控制台推荐的弹性伸缩策略。
使用限制
阿里云Milvus提供两种弹性伸缩策略,同一实例在同一时间只能启用一种:托管弹性伸缩由系统自动判断伸缩时机;自动弹性伸缩规则 (按时间)由用户指定执行时间和目标节点数,适用于负载有明确时间规律的场景,配置方法请参见创建自定义弹性伸缩策略。切换策略后,原策略的规则会停止生效,但不会被删除。
实例规格为标准版,入门版不支持弹性伸缩。
实例状态为运行中,其他状态下弹性伸缩策略不可配置。
引擎版本满足节点类型对应的最低版本要求,详情请参见下表。若实例详情页不展示弹性伸缩页签,表示当前实例的版本或规格不支持弹性伸缩。
单个托管弹性伸缩策略最多配置4个节点类型,且节点类型不能重复。可配置的节点类型随实例版本、规格和部署形态变化,以弹性伸缩配置页面实际展示为准。
元数据服务不支持弹性伸缩。
各节点类型支持弹性伸缩的最低引擎版本如下。
节点类型 | 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 及以上 |
元数据服务 | 不支持 | 不支持 | 不支持 |
低于上述版本的实例升级引擎版本后即可使用弹性伸缩,操作请参见升级版本。
计费说明
包年包月实例:实例总资源量 = 基础资源量 + 弹性资源量。基础资源量(包年包月)不参与弹性伸缩;弹性资源量采用按量计费,需先手动开通按量资源组。
按量计费实例:默认已开通按量资源组,不区分基础资源与弹性资源,所有资源均视为按量资源组内资源。
弹性扩出的节点按实际使用时长计费,缩容释放节点后停止计费。
步骤一:进入弹性伸缩页面
登录阿里云Milvus控制台。
在左侧导航栏,单击实例列表。
在顶部菜单栏,选择目标地域。
在实例列表中,单击目标实例名称。
在实例详情页,单击弹性伸缩页签。
步骤二:(可选)开通按量资源组
托管弹性伸缩使用的弹性资源采用按量计费模式。按量计费实例默认已开通按量资源组,可跳过本步骤;包年包月实例需先开通按量资源组,才能配置托管弹性伸缩策略。
在弹性伸缩配置页面,查看按量资源组的状态。
若状态为未开通,单击开通按量资源组,并在确认对话框中单击确认。
开通后,可单击配置按量资源组手动调整按量资源组的节点数:
扩容:节点数上限为50个,双可用区高可用实例步长为2。按量资源组的节点规格与基础资源一致,不支持修改。
缩容:节点数下限为0,双可用区高可用实例步长为2。
说明弹性伸缩期间实例会短暂进入弹性扩容或弹性缩容状态,此期间无法对实例执行其他变配操作,也不能修改托管弹性伸缩策略。
步骤三:配置托管弹性伸缩策略
在弹性伸缩配置页面,选择托管弹性伸缩。
在弹出的托管弹性伸缩对话框中,选择需要托管的节点类型,并设置最小节点数和最大节点数。
如需托管多个节点类型,单击新增节点类型后重复上一步;如需取消托管某个节点类型,删除对应的节点类型配置。
单击保存。
保存后,如果节点当前数量不在新设置的容量范围内,系统会自动触发一次调整,使其落入该范围。
参数 | 说明 |
节点类型 | 由系统自动调整数量的节点类型。单个策略最多配置4个,且不能重复;可选项以页面实际展示为准。 |
节点规格 | 节点对应的规格,由实例当前资源规格决定,不支持在本对话框中修改。 |
最小节点数 | 系统自动缩容时允许保留的最小节点数。按量计费实例取值需大于等于1;包年包月实例可取0,表示低峰期不保留额外的按量弹性节点。 |
最大节点数 | 系统自动扩容时允许达到的最大节点数。取值需大于等于1,且不小于最小节点数。对于包年包月实例,该值是允许扩出的额外按量节点上限,不影响包年包月基础资源。 |
双可用区高可用实例的节点数需从2开始并按2递增,各节点类型还需满足以下容量要求。
节点类型 | 容量要求 |
Proxy Node、Streaming Node | 最小节点数和最大节点数均需大于等于4,且为偶数。 |
Data Node、Index Node、Query Node 等其他节点类型 | 最小节点数和最大节点数均需大于等于2,且为偶数。 |
管理托管弹性伸缩策略
修改容量范围
在弹性伸缩配置页面,单击已配置策略的编辑。
修改目标节点类型的最小节点数或最大节点数,然后单击保存。
修改后的容量范围立即用于后续伸缩判断。如果当前节点数量不在新范围内,系统会自动触发一次调整。实例正在执行弹性伸缩任务时,不允许修改策略。
停止使用托管弹性伸缩
在弹性伸缩配置页面,选择暂不使用弹性伸缩,并在确认对话框中确认切换。切换后所有弹性伸缩规则停止生效,但不会被删除,重新选择托管弹性伸缩即可恢复原有配置。
停止使用托管弹性伸缩后,已经扩出的节点不会自动释放。如需调整资源量,可通过升降配实例或按量资源组配置处理。
常见问题
托管弹性伸缩会影响正在运行的查询和写入吗?
不会中断正在运行的查询和写入链路。扩容通常只需几分钟,完成后实例会自动进行数据再平衡;缩容时系统先将被移除节点上的数据迁移到剩余节点,确认数据完整后才释放节点资源。