본문 바로가기
문서 목차
ORKESTRIX설치

Milvus 벡터 DB

벡터 임베딩 저장/검색 을 위한 Milvus 벡터 데이터베이스를 구성합니다. Attu 웹 UI로 컬렉션과 데이터를 관리할 수 있습니다.

QUANTUM C&S

벡터 임베딩 저장/검색을 위한 Milvus 벡터 데이터베이스를 구성합니다. Attu 웹 UI로 컬렉션과 데이터를 관리할 수 있습니다.

오브젝트 스토리지로 별도 MinIO 대신 이미 구축된 Ceph RGW(S3 게이트웨이)를 사용합니다.

설정값

inventory/qks/group_vars/all/all-k8s.yaml:

qks_milvus_enabled: true
qks_milvus_version: 4.2.47
qks_milvus_admin_fqdn: "milvus.{{ kube_default_domain }}"
qks_milvus_kafka_enabled: true
qks_milvus_minio_enabled: false
qks_milvus_s3_endpoint: "qks-ceph-s3.{{ qks_cephadm_namespace }}.svc.cluster.local"

실행

./install.sh ubuntu plays/qks-milvus.yaml

설치 흐름

./install.sh ubuntu plays/qks-milvus.yaml
  ├─ 1. Attu 접속 도메인을 각 노드 /etc/hosts에 등록
  ├─ 2. Helm 저장소 등록 ('zilliztech')
  ├─ 3. 네임스페이스 생성
  └─ 4. Helm으로 Milvus 배포 (etcd+Kafka/Zookeeper+Milvus 컴포넌트+Attu, 외부 S3 연동)

설치 확인

kubectl get pods -n <qks_milvus_namespace> | grep milvus

etcd(3) · kafka(3) · zookeeper(3) · proxy · mixcoord · datanode · indexnode · querynode · attu 파드가 모두 Running이어야 합니다.

실제 동작 확인

헬스체크:

kubectl run curltest --rm -i --image=curlimages/curl --restart=Never -- \
  curl -s http://qks-milvus.<ns>.svc.cluster.local:9091/healthz

OK가 나오면 정상입니다.

벡터 저장/검색 확인(REST API):

kubectl run milvustest --rm -i --image=curlimages/curl --restart=Never -- sh -c '
curl -s -X POST http://qks-milvus.<ns>.svc.cluster.local:19530/v2/vectordb/collections/create \
  -H "Content-Type: application/json" -d "{\"collectionName\": \"test\", \"dimension\": 4}"

curl -s -X POST http://qks-milvus.<ns>.svc.cluster.local:19530/v2/vectordb/entities/insert \
  -H "Content-Type: application/json" -d "{\"collectionName\": \"test\", \"data\": [{\"id\": 1, \"vector\": [0.1,0.2,0.3,0.4]}]}"

curl -s -X POST http://qks-milvus.<ns>.svc.cluster.local:19530/v2/vectordb/entities/search \
  -H "Content-Type: application/json" -d "{\"collectionName\": \"test\", \"data\": [[0.1,0.2,0.3,0.4]], \"limit\": 1}"
'

검색 결과에 방금 삽입한 벡터(id: 1)가 나오면 정상입니다. 확인 후 정리:

kubectl run milvuscleanup --rm -i --image=curlimages/curl --restart=Never -- \
  curl -s -X POST http://qks-milvus.<ns>.svc.cluster.local:19530/v2/vectordb/collections/drop \
  -H "Content-Type: application/json" -d '{"collectionName": "test"}'

Attu 웹 UI 확인:

curl -k -s -o /dev/null -w "%{http_code}\n" https://<qks_milvus_admin_fqdn>/

200이 나오면 정상입니다.

다음 단계