milvus-logo
LFAI
首页
  • 管理指南
    • 缩放

扩展 Milvus 集群

Milvus 支持其组件的水平扩展。这意味着你可以根据自己的需要增加或减少每种类型的工作节点数量。

本主题介绍如何扩展 Milvus 集群。我们假定您在扩展之前已经安装了 Milvus 群集。此外,我们建议您在开始之前先熟悉一下Milvus架构

本教程以扩展三个查询节点为例。要扩展其他类型的节点,请在命令行中将queryNode 替换为相应的节点类型。

有关如何使用 Milvus Operator 扩展群集的信息,请参阅使用 Milvus Operator 扩展群集

什么是水平扩展?

水平扩展包括向外扩展和向内扩展。

向外扩展

向外扩展是指增加群集中的节点数量。与向上扩展不同,向外扩展不需要为群集中的一个节点分配更多资源。相反,向外扩展是通过添加更多节点来横向扩展群集。

Scaleout 扩展

Scaleup 扩展

根据Milvus 架构,无状态工作节点包括查询节点、数据节点、索引节点和代理。因此,你可以根据业务需求和应用场景来扩展这些类型的节点。你可以手动或自动扩展 Milvus 集群。

一般来说,如果您创建的 Milvus 集群使用率过高,您就需要对其进行缩减。以下是一些可能需要缩减 Milvus 群集的典型情况:

  • CPU 和内存利用率在一段时间内居高不下。
  • 查询吞吐量变高。
  • 需要更高的索引速度。
  • 需要处理大量大型数据集。
  • 需要确保 Milvus 服务的高可用性。

向内扩展

向内扩展是指减少集群中的节点数量。一般来说,如果您创建的 Milvus 集群利用率不足,您就需要对其进行扩展。以下是一些需要对 Milvus 群集进行扩展的典型情况:

  • 一段时间内 CPU 和内存利用率较低。
  • 查询吞吐量变低。
  • 不需要更高的索引速度。
  • 要处理的数据集规模较小。
我们不建议大幅减少工作节点的数量。例如,如果集群中有五个数据节点,我们建议每次减少一个数据节点,以确保服务可用性。如果第一次尝试缩放后服务可用,则可以继续进一步减少数据节点的数量。

前提条件

运行kubectl get pods ,获取您创建的 Milvus 集群中的组件及其工作状态列表。

NAME                                            READY   STATUS       RESTARTS   AGE
my-release-etcd-0                               1/1     Running      0          1m
my-release-milvus-datacoord-7b5d84d8c6-rzjml    1/1     Running      0          1m
my-release-milvus-datanode-665d4586b9-525pm     1/1     Running      0          1m
my-release-milvus-indexcoord-9669d5989-kr5cm    1/1     Running      0          1m
my-release-milvus-indexnode-b89cc5756-xbpbn     1/1     Running      0          1m
my-release-milvus-proxy-7cbcc8ffbc-4jn8d        1/1     Running      0          1m
my-release-milvus-pulsar-6b9754c64d-4tg4m       1/1     Running      0          1m
my-release-milvus-querycoord-75f6c789f8-j28bg   1/1     Running      0          1m
my-release-milvus-querynode-7c7779c6f8-pnjzh    1/1     Running      0          1m
my-release-milvus-rootcoord-75585dc57b-cjh87    1/1     Running      0          1m
my-release-minio-5564fbbddc-9sbgv               1/1     Running      0          1m 
Milvus 只支持添加工作节点,不支持添加协调器组件。

扩展 Milvus 群集

您可以手动或自动扩展 Milvus 群集。如果启用了自动缩放功能,当 CPU 和内存资源消耗达到你设定的值时,Milvus 集群就会自动缩小或扩大。

目前,Milvus 2.1.0 只支持手动缩放。

向外扩展

运行helm upgrade my-release milvus/milvus --set queryNode.replicas=3 --reuse-values 手动缩减查询节点。

如果成功,将在查询节点上添加三个正在运行的 pod,如下图所示。

NAME                                            READY   STATUS    RESTARTS   AGE
my-release-etcd-0                               1/1     Running   0          2m
my-release-milvus-datacoord-7b5d84d8c6-rzjml    1/1     Running   0          2m
my-release-milvus-datanode-665d4586b9-525pm     1/1     Running   0          2m
my-release-milvus-indexcoord-9669d5989-kr5cm    1/1     Running   0          2m
my-release-milvus-indexnode-b89cc5756-xbpbn     1/1     Running   0          2m
my-release-milvus-proxy-7cbcc8ffbc-4jn8d        1/1     Running   0          2m
my-release-milvus-pulsar-6b9754c64d-4tg4m       1/1     Running   0          2m
my-release-milvus-querycoord-75f6c789f8-j28bg   1/1     Running   0          2m
my-release-milvus-querynode-7c7779c6f8-czq9f    1/1     Running   0          5s
my-release-milvus-querynode-7c7779c6f8-jcdcn    1/1     Running   0          5s
my-release-milvus-querynode-7c7779c6f8-pnjzh    1/1     Running   0          2m
my-release-milvus-rootcoord-75585dc57b-cjh87    1/1     Running   0          2m
my-release-minio-5564fbbddc-9sbgv               1/1     Running   0          2m

向内扩展

运行helm upgrade my-release milvus/milvus --set queryNode.replicas=1 --reuse-values 扩展查询节点。

如果成功,查询节点上的三个运行 pod 将缩减为一个,如下例所示。

NAME                                            READY   STATUS    RESTARTS   AGE
my-release-etcd-0                               1/1     Running   0          2m
my-release-milvus-datacoord-7b5d84d8c6-rzjml    1/1     Running   0          2m
my-release-milvus-datanode-665d4586b9-525pm     1/1     Running   0          2m
my-release-milvus-indexcoord-9669d5989-kr5cm    1/1     Running   0          2m
my-release-milvus-indexnode-b89cc5756-xbpbn     1/1     Running   0          2m
my-release-milvus-proxy-7cbcc8ffbc-4jn8d        1/1     Running   0          2m
my-release-milvus-pulsar-6b9754c64d-4tg4m       1/1     Running   0          2m
my-release-milvus-querycoord-75f6c789f8-j28bg   1/1     Running   0          2m
my-release-milvus-querynode-7c7779c6f8-pnjzh    1/1     Running   0          2m
my-release-milvus-rootcoord-75585dc57b-cjh87    1/1     Running   0          2m
my-release-minio-5564fbbddc-9sbgv               1/1     Running   0          2m

下一步

翻译自DeepL

想要更快、更简单、更好用的 Milvus SaaS服务 ?

Zilliz Cloud是基于Milvus的全托管向量数据库,拥有更高性能,更易扩展,以及卓越性价比

免费试用 Zilliz Cloud
反馈

此页对您是否有帮助?