Asignar Recursos en Kubernetes
Este tema describe cómo asignar recursos a un clúster Milvus en Kubernetes.
Generalmente, los recursos que usted asigna a un cluster Milvus en producción deben ser proporcionales a la carga de trabajo de la máquina. También debe considerar el tipo de máquina al asignar recursos. Aunque puede actualizar las configuraciones cuando el clúster se está ejecutando, recomendamos establecer los valores antes de desplegar el clúster.
Para obtener información sobre cómo asignar recursos con Milvus Operator, consulte Asignar recursos con Milvus Operator.
1. Ver los recursos disponibles
Ejecute kubectl describe nodes
para ver los recursos disponibles en las instancias que ha aprovisionado.
2. Asignar recursos
Utilice Helm para asignar recursos de CPU y memoria a los componentes de Milvus.
Hay dos formas de asignar recursos:
Asignar recursos con comandos
Debe establecer las variables de recursos para cada componente Milvus si utiliza --set
para actualizar las configuraciones de recursos.
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
Asignar recursos estableciendo el archivo de configuración
También puede asignar recursos de CPU y memoria especificando los parámetros resources.requests
y resources.limits
en el archivo 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. Aplicar configuraciones
Ejecute el siguiente comando para aplicar las nuevas configuraciones a su cluster Milvus.
helm upgrade my-release milvus/milvus --reuse-values -f resources.yaml
resources.limits
, los pods consumirán todos los recursos de CPU y memoria disponibles. Por lo tanto, asegúrese de especificar resources.requests
y resources.limits
para evitar la sobreasignación de recursos cuando otras tareas en ejecución en la misma instancia requieran un mayor consumo de memoria.Consulte la documentación de Kubernetes para obtener más información sobre la gestión de recursos.
Lo que sigue
- Puede que también quiera aprender cómo
- Si está listo para implementar su clúster en nubes: