在 Kubernetes 上配置 Milvus 集群资源

本文将介绍如何在 Kubernetes 上配置 Milvus 集群资源。

在生产环境中,通常应当依据机器工作量及机器类型相应为 Milvus 集群配置资源。你可以在集群运行时更新资源配置,但我们建议在部署集群前先设置参数。

1. 查看可用资源

运行指令 kubectl describe nodes 查看整个 Kubernetes 集群可为已创建实例分配的资源。

2. 配置资源

使用 Helm 为 Milvus 集群组件分配内存与 CPU 资源。

使用 Helm 升级资源配置时,正在运行的 pod 将执行滚动更新。

你可以通过以下两种方式来配置资源:

使用命令配置资源

如使用 --set 指令更新资源配置,必须配置每一个 Milvus 组件的资源变量。

Shell 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
Shell 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

设置 YAML 文件以配置资源

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

  1. dataNode:
  2. resources:
  3. limits:
  4. cpu: "4"
  5. memory: "16Gi"
  6. requests:
  7. cpu: "1"
  8. memory: "4Gi"
  9. queryNode:
  10. resources:
  11. limits:
  12. cpu: "4"
  13. memory: "16Gi"
  14. requests:
  15. cpu: "1"
  16. memory: "4Gi"

3. 应用新配置

运行如下指令以在 Milvus 集群中应用新配置。

  1. helm upgrade my-release milvus/milvus --reuse-values -f resources.yaml
如未设置 resources.limits 参数,pod 会消耗所有可用 CPU 及内存资源。因此,为避免资源过度配置,请设置好 resources.requestsresources.limits 参数。

更多资源管理内容,详见 Kubernetes 文档 for more information about managing resources.

更多内容