Configurer Milvus avec Milvus Operator
Dans un environnement de production, vous devez allouer des ressources au cluster Milvus en fonction du type de machine et de la charge de travail. Vous pouvez configurer lors du déploiement ou mettre à jour les configurations pendant que le cluster fonctionne.
Cette rubrique présente la configuration d'un cluster Milvus lors de son installation avec Milvus Operator.
Cette rubrique suppose que vous avez déployé Milvus Operator. Voir Déployer Milvus Operator pour plus d'informations.
La configuration d'un cluster Milvus avec Milvus Operator comprend :
- Configurations des ressources globales
- Configurations des ressources privées
Configuration des ressources globales
Lorsque vous utilisez Milvus Operator pour démarrer un cluster Milvus, vous devez spécifier un fichier de configuration. L'exemple présenté ici utilise le fichier de configuration par défaut.
kubectl apply -f https://raw.githubusercontent.com/zilliztech/milvus-operator/main/config/samples/milvus_cluster_default.yaml
Les détails du fichier de configuration sont les suivants :
apiVersion: milvus.io/v1beta1
kind: Milvus
metadata:
name: my-release
labels:
app: milvus
spec:
mode: cluster
dependencies: {}
components: {}
config: {}
Le champ spec.components
comprend la configuration des ressources globales et privées de tous les composants Milvus. Les quatre champs suivants sont couramment utilisés pour configurer les ressources globales.
image
: L'image docker Milvus utilisée.resources
: Les ressources de calcul allouées à chaque composant.tolerations
etnodeSelector
: les règles d'ordonnancement de chaque composant Milvus dans le cluster K8s. Voir tolérances et nodeSelector pour plus d'informations.env
: Les variables d'environnement.
Si vous souhaitez configurer d'autres champs, consultez la documentation ici.
Pour configurer les ressources globales du cluster Milvus, créez un fichier milvuscluster_resource.yaml
.
Exemple
L'exemple suivant configure la ressource globale pour 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
Exécutez la commande suivante pour appliquer les nouvelles configurations :
kubectl apply -f milvuscluster_resource.yaml
my-release
dans le cluster K8s. Sinon, un nouveau cluster Milvus sera créé.Configuration des ressources privées
A l'origine, dans Milvus 2.0, un cluster Milvus comprend sept composants : proxy, root coord, data coord, query coord, index node, data node et query node. Cependant, un nouveau composant, mix coord, est publié avec Milvus 2.1.0. Mix coord comprend tous les composants du coordinateur. Par conséquent, le démarrage d'un mix coord signifie qu'il n'est pas nécessaire d'installer et de démarrer d'autres coordonnateurs, notamment le coordonnateur racine, le coordonnateur de données et le coordonnateur de requêtes.
Les champs communs utilisés pour configurer chaque composant sont les suivants :
replica
: Le nombre de répliques de chaque composant.port
: Le numéro de port d'écoute de chaque composant.- Les quatre champs couramment utilisés dans la configuration globale des ressources :
image
,env
,nodeSelector
,tolerations
,resources
(voir ci-dessus). Pour plus de champs configurables, cliquez sur chaque composant dans cette documentation.
Pour configurer les ressources d'un composant spécifique, ajoutez d'abord le nom du composant dans le champ sous spec.componets
, puis configurez ses ressources privées.
Dépendances | Composants |
---|---|
Exemple de configuration
L'exemple ci-dessous configure les répliques et les ressources de calcul du proxy et du datanode dans le fichier 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: {}
Exécutez la commande suivante pour appliquer les nouvelles configurations :
kubectl apply -f milvuscluster.yaml
Prochaines étapes
- Apprenez à gérer les dépendances Milvus suivantes avec Milvus Operator :