管理员手册 (Administration Guide)
分配(Allocate)

在 Kubernetes 上分配资源

本主题介绍了如何在 Kubernetes 上为 Milvus 集群分配资源。

通常,在生产中为 Milvus 集群分配的资源应与机器工作负载成比例。在分配资源时,你还应考虑机器类型。虽然你可以在集群运行时更新配置,但我们建议在 部署集群 之前设置这些值。

1. 查看可用资源

运行 kubectl describe nodes 命令以查看你已分配资源的实例上的可用资源。

2. 分配资源

使用 Helm 将 CPU 和内存资源分配给 Milvus 组件。

有两种分配资源的方式:

使用命令分配资源

如果你使用 --set 来更新资源配置,则需要为每个 Milvus 组件设置资源变量。

helm upgrade my-release milvus/milvus --reuse-values --set standalone.resources.limits.cpu=2 --set standalone.resources.limits.memory=4Gi --set standalone.resources.requests.cpu=0.1 --set standalone.resources.requests.memory=128Mi
helm upgrade my-release milvus/milvus --reuse-values --set dataNode.resources.limits.cpu=2 --set dataNode.resources.limits.memory=4Gi --set dataNode.resources.requests.cpu=0.1 --set dataNode.resources.requests.memory=128Mi

通过设置配置文件分配资源

你还可以通过在 resources.yaml 文件中指定参数 resources.requestsresources.limits 来分配 CPU 和内存资源。

dataNode:
  resources:
    limits:
      cpu: "4"
      memory: "16Gi"
    requests:
      cpu: "1"
      memory: "4Gi"
queryNode:
  resources:
    limits:
      cpu: "4"
      memory: "16Gi"
    requests:
      cpu: "1"
      memory: "4Gi"

3. 应用配置

运行以下命令将新配置应用于你的 Milvus 集群。

helm upgrade my-release milvus/milvus --reuse-values -f resources.yaml

有关更多有关资源管理的信息,请参阅 Kubernetes 文档 (opens in a new tab)

下一步操作

了解如何使用 Kubernetes 部署 Milvus 集群。

  • 你可能还想学习如何:
  • 如果你准备在云上部署你的集群:
    • 学习如何使用 Terraform 和 Ansible 在 AWS 上部署 Milvus(aws.md)
    • 学习如何使用 Terraform 在 Amazon EKS 上部署 Milvus(eks.md)
    • 学习如何在 GCP 上使用 Kubernetes 部署 Milvus 集群(gcp.md)
    • 学习如何在 Microsoft Azure 上使用 Kubernetes 部署 Milvus(azure.md)