milvus-logo
LFAI
首页
  • 管理指南

使用 Milvus Operator 配置 Milvus

在生产环境中,您需要根据机器类型和工作负载为 Milvus 群集分配资源。您可以在部署时进行配置,也可以在群集运行时更新配置。

本主题介绍如何在使用 Milvus Operator 安装 Milvus 群集时对其进行配置。

本主题假定您已部署 Milvus Operator。有关详细信息,请参阅部署 Milvus Operator

使用 Milvus Operator 配置 Milvus 群集包括:

  • 全局资源配置
  • 专用资源配置
私有资源配置将覆盖全局资源配置。如果您在配置全局资源的同时指定了某个组件的私有资源,该组件将优先响应私有配置。

配置全局资源

使用 Milvus Operator 启动 Milvus 群集时,需要指定一个配置文件。这里的示例使用的是默认配置文件。

kubectl apply -f https://raw.githubusercontent.com/zilliztech/milvus-operator/main/config/samples/milvus_cluster_default.yaml

配置文件的详细信息如下:

apiVersion: milvus.io/v1beta1
kind: Milvus
metadata:
  name: my-release
  labels:
    app: milvus
spec:
  mode: cluster
  dependencies: {}
  components: {}
  config: {}

字段spec.components 包括所有 Milvus 组件的全局和私有资源配置。以下是配置全局资源的四个常用字段。

  • image:使用的 Milvus docker 映像。
  • resources:分配给每个组件的计算资源。
  • tolerations 和 :K8s 集群中每个 Milvus 组件的调度规则。更多信息,请参阅nodeSelector容忍度节点选择器
  • env:环境变量。

如需配置更多字段,请参阅此处的文档。

要配置 Milvus 集群的全局资源,请创建milvuscluster_resource.yaml 文件。

示例

以下示例为 Milvus 群集配置全局资源。

apiVersion: milvus.io/v1beta1
kind: Milvus
metadata:
  name: my-release
  labels:
    app: milvus
spec:
  mode: cluster
  components:
    nodeSelector: {}
    tolerations: {}
    env: {}
    resources:
      limits:
        cpu: '4'
        memory: 8Gi
      requests:
        cpu: 200m
        memory: 512Mi

运行以下命令应用新配置:

kubectl apply -f milvuscluster_resource.yaml
如果 K8s 集群中有名为my-release 的 Milvus 集群,则将根据配置文件更新集群资源。否则,将创建一个新的 Milvus 群集。

配置私有资源

最初在 Milvus 2.0 中,Milvus 集群包括七个组件:代理、根协调器、数据协调器、查询协调器、索引节点、数据节点和查询节点。不过,Milvus 2.1.0 发布了一个新组件--混合协调器。混合协调器包括所有协调器组件。因此,启动混合协调器意味着无需安装和启动其他协调器,包括根协调器、数据协调器和查询协调器。

用于配置各组件的常用字段包括

  • replica:每个组件的副本数量。
  • port:每个组件的监听端口号。
  • 全局资源配置中常用的四个字段:image,env,nodeSelector,tolerations,resources (见上文)。有关更多可配置字段,请单击本文档中的每个组件。
此外,在配置代理时,还有一个名为 "服务类型 "的额外字段。该字段定义了 Milvus 在 K8s 集群中提供的服务类型。

要为特定组件配置资源,请先在spec.componets 下的字段中添加组件名称,然后配置其私有资源。

用途 参数
性能调整
数据和元
管理
配额和限制

示例

下面的示例在milvuscluster.yaml 文件中配置了代理和数据节点的副本和计算资源。

apiVersion: milvus.io/v1beta1
kind: Milvus
metadata:
  name: my-release
  labels:
    app: milvus
spec:
  mode: cluster
  components:
    resources:
      limits:
        cpu: '4'
        memory: 8Gi
      requests:
        cpu: 200m
        memory: 512Mi
    rootCoord: 
      replicas: 1
      port: 8080
      resources:
        limits:
          cpu: '6'
          memory: '10Gi'
    dataCoord: {}
    queryCoord: {}
    indexCoord: {}
    dataNode: {}
    indexNode: {}
    queryNode: {}
    proxy:
      replicas: 1
      serviceType: ClusterIP
      resources:
        limits:
          cpu: '2'
          memory: 4Gi
        requests:
          cpu: 100m
          memory: 128Mi
  config: {}
  dependencies: {}
该示例不仅配置了全局资源,还配置了根节点和代理的私有计算资源。使用此配置文件启动 Milvus 群集时,私有资源配置将应用于根协调器和代理,而其他组件将遵循全局资源配置。

运行以下命令应用新配置:

kubectl apply -f milvuscluster.yaml

下一步

翻译自DeepLogo

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

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

免费试用 Zilliz Cloud
反馈

此页对您是否有帮助?