Configurar Milvus con Milvus Operator
En un entorno de producción, necesita asignar recursos al cluster Milvus basándose en el tipo de máquina y la carga de trabajo. Puede configurar durante el despliegue o actualizar las configuraciones mientras el cluster está funcionando.
Este tema presenta cómo configurar un cluster Milvus cuando lo instala con Milvus Operator.
Este tema asume que usted ha desplegado Milvus Operator. Consulte Despliegue de Milvus Operator para obtener más información.
La configuración de un cluster Milvus con Milvus Operator incluye:
- Configuraciones de recursos globales
- Configuraciones de recursos privados
Configurar recursos globales
Cuando utilice Milvus Operator para iniciar un cluster Milvus, necesita especificar un archivo de configuración. En este ejemplo se utiliza el archivo de configuración predeterminado.
kubectl apply -f https://raw.githubusercontent.com/zilliztech/milvus-operator/main/config/samples/milvus_cluster_default.yaml
Los detalles del archivo de configuración son los siguientes:
apiVersion: milvus.io/v1beta1
kind: Milvus
metadata:
name: my-release
labels:
app: milvus
spec:
mode: cluster
dependencies: {}
components: {}
config: {}
El campo spec.components
incluye la configuración tanto global como privada de los recursos de todos los componentes de Milvus. Los siguientes son cuatro campos comúnmente utilizados para configurar el recurso global.
image
: La imagen docker de Milvus utilizada.resources
: Los recursos de computación asignados a cada componente.tolerations
ynodeSelector
: Las reglas de programación de cada componente Milvus en el clúster K8s. Ver tolerations y nodeSelector para más información.env
: Las variables de entorno.
Si desea configurar más campos, consulte la documentación aquí.
Para configurar el recurso global para el cluster Milvus, cree un archivo milvuscluster_resource.yaml
.
Ejemplo
El siguiente ejemplo configura los recursos globales para un cluster Milvus.
apiVersion: milvus.io/v1beta1
kind: Milvus
metadata:
name: my-release
labels:
app: milvus
spec:
mode: cluster
components:
nodeSelector: {}
tolerations: {}
env: {}
resources:
limits:
cpu: '4'
memory: 8Gi
requests:
cpu: 200m
memory: 512Mi
Ejecute el siguiente comando para aplicar las nuevas configuraciones:
kubectl apply -f milvuscluster_resource.yaml
my-release
en el clúster K8s. En caso contrario, se creará un nuevo cluster Milvus.Configurar recursos privados
Originalmente en Milvus 2.0, un cluster Milvus incluye siete componentes: proxy, root coord, data coord, query coord, index node, data node, y query node. Sin embargo, un nuevo componente, mix coord, se lanza junto con Milvus 2.1.0. Mix coord incluye todos los componentes del coordinador. Por lo tanto, iniciar un mix coord significa que no necesita instalar e iniciar otros coordinadores incluyendo root coord, data coord y query coord.
Los campos comunes utilizados para configurar cada componente incluyen:
replica
: El número de réplicas de cada componente.port
: El número de puerto de escucha de cada componente.- Los cuatro campos comúnmente utilizados en la configuración global de recursos:
image
,env
,nodeSelector
,tolerations
,resources
(véase más arriba). Para ver más campos configurables, haga clic en cada componente de esta documentación.
Para configurar recursos para un componente específico, añada primero el nombre del componente en el campo bajo spec.componets
y luego configure sus recursos privados.
Dependencias | Componentes |
---|---|
Ejemplo
El siguiente ejemplo configura las réplicas y los recursos de cálculo del proxy y del datanode en el archivo milvuscluster.yaml
.
apiVersion: milvus.io/v1beta1
kind: Milvus
metadata:
name: my-release
labels:
app: milvus
spec:
mode: cluster
components:
resources:
limits:
cpu: '4'
memory: 8Gi
requests:
cpu: 200m
memory: 512Mi
rootCoord:
replicas: 1
port: 8080
resources:
limits:
cpu: '6'
memory: '10Gi'
dataCoord: {}
queryCoord: {}
indexCoord: {}
dataNode: {}
indexNode: {}
queryNode: {}
proxy:
replicas: 1
serviceType: ClusterIP
resources:
limits:
cpu: '2'
memory: 4Gi
requests:
cpu: 100m
memory: 128Mi
config: {}
dependencies: {}
Ejecute el siguiente comando para aplicar las nuevas configuraciones:
kubectl apply -f milvuscluster.yaml
A continuación
- Aprenda a gestionar las siguientes dependencias de Milvus con Milvus Operator: