Configurare 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
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
enodeSelector
: 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
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.
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.
Dipendenze | Componenti |
---|---|
Esempio
L'esempio seguente configura le repliche e le risorse di calcolo di proxy e 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: {}
Eseguire il seguente comando per applicare le nuove configurazioni:
kubectl apply -f milvuscluster.yaml
Cosa succede dopo
- Imparate a gestire le seguenti dipendenze di Milvus con Milvus Operator: