在 Kubernetes 上分配資源
本主題描述如何在 Kubernetes 上分配資源給 Milvus 叢集。
一般而言,您在生產中分配給 Milvus 叢集的資源應與機器的工作量成正比。分配資源時,您也應該考慮機器類型。雖然您可以在群集執行時更新配置,但我們建議您在部署群集前設定這些值。
有關如何使用 Milvus Operator 分配資源的資訊,請參閱使用 Milvus Operator 分配資源。
1.檢視可用資源
執行kubectl describe nodes
檢視您已佈建的實體上的可用資源。
2.分配資源
使用 Helm 為 Milvus 元件分配 CPU 和記憶體資源。
使用 Helm 升級資源會導致執行中的 Pod 執行滾動更新。
有兩種方式可以分配資源:
使用指令分配資源
如果使用--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.requests
和resources.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
如果未指定
resources.limits
,pod 將消耗所有可用的 CPU 和記憶體資源。因此,請確保指定resources.requests
和resources.limits
,以避免在同一實體上其他執行中的任務需要消耗更多記憶體時,出現資源過度分配的情況。請參閱Kubernetes 文件,取得更多有關管理資源的資訊。
下一步
- 您可能還想學習如何
- 如果您已準備好在雲上部署您的叢集: