Распределение ресурсов на Kubernetes
В этой теме описывается, как выделять ресурсы для кластера Milvus в Kubernetes.
Как правило, ресурсы, которые вы выделяете кластеру Milvus в производстве, должны быть пропорциональны рабочей нагрузке машины. При выделении ресурсов следует также учитывать тип машины. Хотя конфигурацию можно обновить во время работы кластера, мы рекомендуем установить значения перед развертыванием кластера.
Информацию о том, как распределять ресурсы с помощью Milvus Operator, см. в разделе Распределение ресурсов с помощью Milvus Operator.
1. Просмотр доступных ресурсов
Запустите kubectl describe nodes
, чтобы просмотреть доступные ресурсы на экземплярах, которые вы выделили.
2. Распределить ресурсы
Используйте Helm для выделения ресурсов процессора и памяти компонентам Milvus.
Существует два способа выделения ресурсов:
Распределение ресурсов с помощью команд
Вам необходимо установить переменные ресурсов для каждого компонента Milvus, если вы используете --set
для обновления конфигураций ресурсов.
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.requests
и resources.limits
в файле resources.yaml
.
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
не указан, поды будут потреблять все доступные ресурсы процессора и памяти. Поэтому убедитесь, что указаны resources.requests
и resources.limits
, чтобы избежать перераспределения ресурсов, когда другие задачи, выполняющиеся на том же экземпляре, требуют большего потребления памяти.Дополнительные сведения об управлении ресурсами см. в документации Kubernetes.
Что дальше
- Вам также может быть интересно узнать, как:
- Если вы готовы развернуть свой кластер в облаке:
- Узнайте, как развернуть Milvus на Amazon EKS с помощью Terraform.
- Узнайте, как развернуть кластер Milvus на GCP с помощью Kubernetes
- Узнайте, как развернуть Milvus на Microsoft Azure с помощью Kubernetes.