• Acerca de Milvus
  • Empezar
  • Conceptos
  • Guía del usuario
  • Importación de datos
  • Herramientas de IA
  • Guía de administración
  • Herramientas
  • Integraciones
  • Tutoriales
  • Preguntas frecuentes
  • API Reference

Utilizar Pulsar como cola de mensajes de Milvus

Apache Pulsar es uno de los backends de cola de mensajes (WAL) compatibles con Milvus. En Milvus 3.x, Woodpecker es la cola de mensajes predeterminada; no obstante, Pulsar sigue siendo totalmente compatible para los usuarios que lo prefieran. Pulsar se utiliza principalmente con Milvus Distributed (clúster); las implementaciones independientes suelen utilizar Woodpecker integrado o RocksMQ.

Compatibilidad de versiones

Versión de MilvusVersión de Pulsar compatiblePredeterminada
2.5.x y posterioresPulsar v3 (recomendada) o Pulsar v2Pulsar v3 (a través de Helm / Milvus Operator)
2.4.x y anterioresPulsar v2Pulsar v2

Desde Milvus 2.5, el gráfico Helm de Milvus y Milvus Operator implementan Pulsar v3 de forma predeterminada; Pulsar v2 sigue siendo compatible. Consulta «Actualizar Pulsar de la v2 a la v3 » y «Seguir utilizando Pulsar v2».

Implementar un clúster de Milvus con Pulsar mediante Helm

Instalación

Para implementar un clúster de Milvus que utilice el Pulsar incluido (en lugar de Woodpecker), instala el gráfico de Helm con el nodo de streaming habilitado:

helm install my-release zilliztech/milvus \
  --set image.all.tag=v3.0.0 \
  --set pulsarv3.enabled=true \
  --set woodpecker.enabled=false \
  --set streaming.enabled=true \
  --set indexNode.enabled=false

En Kubernetes v1.25 y versiones posteriores, si se producen problemas con la API de PodDisruptionBudget (PDB) debido al sub-chart de Pulsar incluido, desactive las políticas de PDB de Pulsar:

helm install my-release zilliztech/milvus \
  --set pulsar.bookkeeper.pdb.usePolicy=false \
  --set pulsar.broker.pdb.usePolicy=false \
  --set pulsar.proxy.pdb.usePolicy=false \
  --set pulsar.zookeeper.pdb.usePolicy=false

Configuración

Para conectar Milvus a un servicio Pulsar externo, desactiva el Pulsar integrado y habilita « externalPulsar » en una anulación de « values.yaml »:

pulsarv3:
  enabled: false
externalPulsar:
  enabled: true
  host: <your_pulsar_host>
  port: 6650
  maxMessageSize: "5242880"  # 5 MB, maximum size of each message
  tenant: public
  namespace: default
helm install my-release zilliztech/milvus -f values.yaml

Desinstalar

helm uninstall my-release

Si has utilizado el Pulsar incluido y deseas eliminar sus datos persistentes, elimina los PVC de Pulsar (denominados « my-release-pulsarv3-* »):

kubectl get pvc | grep my-release-pulsarv3
kubectl delete pvc <pulsar-pvc-name> ...

Implementar un clúster de Milvus con Pulsar utilizando Milvus Operator

Con Milvus Operator, configura Pulsar en spec.dependencies.pulsar (compatible únicamente con clústeres de Milvus). pulsar admite external y inCluster.

Pulsar externo

apiVersion: milvus.io/v1alpha1
kind: Milvus
metadata:
  name: my-release
  labels:
    app: milvus
spec:
  dependencies:
    pulsar:
      external: true
      endpoints:
      - 192.168.1.1:6650
  components: {}
  config: {}

Pulsar interno (dentro del clúster)

apiVersion: milvus.io/v1alpha1
kind: Milvus
metadata:
  name: my-release
  labels:
    app: milvus
spec:
  dependencies:
    pulsar:
      inCluster:
        values:
          components:
            autorecovery: false
          zookeeper:
            replicaCount: 1
          bookkeeper:
            replicaCount: 1
          broker:
            replicaCount: 1
            configData:
              autoSkipNonRecoverableData: "true"
              managedLedgerDefaultEnsembleSize: "1"
              managedLedgerDefaultWriteQuorum: "1"
              managedLedgerDefaultAckQuorum: "1"
          proxy:
            replicaCount: 1
  components: {}
  config: {}

Aplica la configuración (suponiendo que el archivo sea milvuscluster.yaml):

kubectl apply -f milvuscluster.yaml

Desinstalar

kubectl delete milvus my-release

Notas

  • Actualización de la versión 2.5.x a la 2.6.x: Limitaciones de la cola de mensajes: Al actualizar a Milvus v3.0.0, debes mantener tu elección actual de cola de mensajes. No se admite el cambio entre diferentes sistemas de colas de mensajes durante la actualización. La compatibilidad con el cambio de sistemas de colas de mensajes estará disponible en futuras versiones. Si utilizas Pulsar y deseas seguir utilizándolo, no cambies la cola de mensajes durante la actualización.
  • Pulsar v2 → v3: consulta Actualizar Pulsar de la v2 a la v3; para seguir con la v2, consulta Seguir utilizando Pulsar v2.

Próximos pasos