milvus-logo
LFAI
Casa
  • Guida all'amministrazione

Configurazione di Milvus con Milvus Operator

In un ambiente di produzione, è necessario allocare le risorse al cluster Milvus in base al tipo di macchina e al carico di lavoro. È possibile configurare durante la distribuzione o aggiornare le configurazioni mentre il cluster è in funzione.

Questo argomento illustra come configurare un cluster Milvus quando lo si installa con Milvus Operator.

Questo argomento presuppone che sia stato distribuito Milvus Operator. Per ulteriori informazioni, vedere Distribuzione di Milvus Operator.

La configurazione di un cluster Milvus con Milvus Operator comprende:

  • Configurazioni globali delle risorse
  • Configurazioni di risorse private
Le configurazioni delle risorse private sovrascrivono le configurazioni delle risorse globali. Se si configurano le risorse a livello globale e si specifica contemporaneamente la risorsa privata di un certo componente, il componente darà la priorità e risponderà prima alle configurazioni private.

Configurazione delle risorse globali

Quando si usa Milvus Operator per avviare un cluster Milvus, è necessario specificare un file di configurazione. L'esempio qui riportato utilizza il file di configurazione predefinito.

kubectl apply -f https://raw.githubusercontent.com/zilliztech/milvus-operator/main/config/samples/milvus_cluster_default.yaml

I dettagli del file di configurazione sono i seguenti:

apiVersion: milvus.io/v1beta1
kind: Milvus
metadata:
  name: my-release
  labels:
    app: milvus
spec:
  mode: cluster
  dependencies: {}
  components: {}
  config: {}

Il campo spec.components include la configurazione delle risorse globali e private di tutti i componenti di Milvus. Di seguito sono riportati i quattro campi comunemente utilizzati per configurare le risorse globali.

  • image: L'immagine docker Milvus utilizzata.
  • resources: Le risorse di calcolo assegnate a ciascun componente.
  • tolerations e nodeSelector: le regole di pianificazione di ciascun componente Milvus nel cluster K8s. Per ulteriori informazioni, vedere tolleranze e nodeSelector.
  • env: Le variabili d'ambiente.

Se si desidera configurare altri campi, consultare la documentazione qui.

Per configurare una risorsa globale per il cluster Milvus, creare un file milvuscluster_resource.yaml.

Esempio

L'esempio seguente configura la risorsa globale per 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

Eseguire il comando seguente per applicare le nuove configurazioni:

kubectl apply -f milvuscluster_resource.yaml
Le risorse del cluster verranno aggiornate in base al file di configurazione se nel cluster K8s è presente un cluster Milvus chiamato my-release. Altrimenti, verrà creato un nuovo cluster Milvus.

Configurare le risorse private

Originariamente, in Milvus 2.0, un cluster Milvus comprendeva sette componenti: proxy, root coord, data coord, query coord, index node, data node e query node. Tuttavia, con Milvus 2.1.0 viene rilasciato un nuovo componente, mix coord. Mix coord include tutti i componenti del coordinatore. Pertanto, avviare un mix coord significa che non è necessario installare e avviare altri coordinatori, tra cui root coord, data coord e query coord.

I campi comuni utilizzati per configurare ciascun componente includono:

  • replica: Il numero di repliche di ciascun componente.
  • port: Il numero della porta di ascolto di ciascun componente.
  • I quattro campi comunemente usati nella configurazione globale delle risorse: image, env, nodeSelector, tolerations, resources (vedere sopra). Per ulteriori campi configurabili, fare clic su ciascun componente in questa documentazione.
Inoltre, quando si configura il proxy, c'è un campo aggiuntivo chiamato `serviceType`. Questo campo definisce il tipo di servizio che Milvus fornisce nel cluster K8s.

Per configurare le risorse di un componente specifico, aggiungere prima il nome del componente nel campo spec.componets e poi configurare le sue risorse private.

Scopo Parametri
Messa a punto delle prestazioni
Dati e meta
Amministrazione
Quote e limiti

Esempio

L'esempio seguente configura le repliche e le risorse di calcolo del proxy e del datanode nel file 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: {}
Questo esempio configura non solo le risorse globali ma anche le risorse di calcolo private per root coord e proxy. Quando si usa questo file di configurazione per avviare un cluster Milvus, le configurazioni delle risorse private saranno applicate a root coord e proxy, mentre il resto dei componenti seguirà la configurazione delle risorse globali.

Eseguire il seguente comando per applicare le nuove configurazioni:

kubectl apply -f milvuscluster.yaml

Cosa succede dopo

Tradotto daDeepLogo

Try Managed Milvus for Free

Zilliz Cloud is hassle-free, powered by Milvus and 10x faster.

Get Started
Feedback

Questa pagina è stata utile?