Configurar o Milvus com o Milvus Operator
No ambiente de produção, é necessário atribuir recursos ao cluster Milvus com base no tipo de máquina e na carga de trabalho. É possível configurar durante a implantação ou atualizar as configurações enquanto o cluster estiver em execução.
Este tópico apresenta como configurar um cluster Milvus ao instalá-lo com o Milvus Operator.
Este tópico pressupõe que você implantou o Milvus Operator. Consulte Implantar o Milvus Operator para obter mais informações.
A configuração de um cluster do Milvus com o Milvus Operator inclui:
- Configurações globais de recursos
- Configurações de recursos privados
Configurar recursos globais
Ao utilizar o Milvus Operator para iniciar um cluster Milvus, é necessário especificar um ficheiro de configuração. O exemplo aqui apresentado utiliza o ficheiro de configuração predefinido.
kubectl apply -f https://raw.githubusercontent.com/zilliztech/milvus-operator/main/config/samples/milvus_cluster_default.yaml
Os detalhes do ficheiro de configuração são os seguintes:
apiVersion: milvus.io/v1beta1
kind: Milvus
metadata:
name: my-release
labels:
app: milvus
spec:
mode: cluster
dependencies: {}
components: {}
config: {}
O campo spec.components
inclui a configuração de recursos globais e privados de todos os componentes do Milvus. A seguir estão quatro campos comumente usados para configurar o recurso global.
image
: A imagem do docker Milvus utilizada.resources
: Os recursos de computação atribuídos a cada componente.tolerations
enodeSelector
: As regras de agendamento de cada componente Milvus no cluster K8s. Consulte tolerâncias e nodeSelector para obter mais informações.env
: As variáveis de ambiente.
Se pretender configurar mais campos, consulte a documentação aqui.
Para configurar o recurso global para o cluster Milvus, crie um ficheiro milvuscluster_resource.yaml
.
Exemplo
O exemplo seguinte configura o recurso global para um 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
Execute o seguinte comando para aplicar as novas configurações:
kubectl apply -f milvuscluster_resource.yaml
my-release
no cluster K8s. Caso contrário, será criado um novo cluster Milvus.Configurar recursos privados
Originalmente no Milvus 2.0, um cluster Milvus inclui sete componentes: proxy, coordenada raiz, coordenada de dados, coordenada de consulta, nó de índice, nó de dados e nó de consulta. No entanto, um novo componente, mix coord, é lançado juntamente com o Milvus 2.1.0. O mix coord inclui todos os componentes do coordenador. Por conseguinte, iniciar uma coord mista significa que não é necessário instalar e iniciar outros coordenadores, incluindo a coord raiz, a coord de dados e a coord de consulta.
Os campos comuns utilizados para configurar cada componente incluem:
replica
: O número de réplicas de cada componente.port
: O número da porta de escuta de cada componente.- Os quatro campos comumente usados na configuração global de recursos:
image
,env
,nodeSelector
,tolerations
,resources
(ver acima). Para mais campos configuráveis, clique em cada componente nesta documentação.
Para configurar recursos para um componente específico, adicione o nome do componente no campo em spec.componets
primeiro e depois configure seus recursos privados.
Dependências | Componentes |
---|---|
Exemplo
O exemplo abaixo configura as réplicas e os recursos de computação do proxy e do datanode no arquivo 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: {}
Execute o seguinte comando para aplicar novas configurações:
kubectl apply -f milvuscluster.yaml
O que vem a seguir
- Saiba como gerenciar as seguintes dependências do Milvus com o Milvus Operator: