Skip to main content

Qdrant

High-performance vector database for AI/ML similarity search.

CategoryDatabases
Deploy./uis deploy qdrant
Undeploy./uis undeploy qdrant
Depends onNone
Required byNone
Helm chartqdrant/qdrant (unpinned)
Default namespacedefault

What It Does

Qdrant is a vector similarity search engine for AI/ML applications. It stores high-dimensional vectors (embeddings) and performs fast nearest-neighbor searches. Use it for semantic search, recommendation systems, image similarity, and RAG (Retrieval-Augmented Generation) pipelines.

Key capabilities:

  • Vector search with cosine, dot product, and Euclidean distance
  • Payload filtering — attach metadata to vectors and filter during search
  • Named vectors — store multiple vector types per point (text + image)
  • API key authentication for secure access
  • Snapshot-based backups for data safety

Deploy

./uis deploy qdrant

No dependencies.

Verify

# Quick check
./uis verify qdrant

# Manual check
kubectl get pods -n default -l app.kubernetes.io/name=qdrant

# Test API (via port-forward)
kubectl port-forward svc/qdrant 6333:6333 &
curl http://localhost:6333/healthz

Configuration

Qdrant configuration is in manifests/044-qdrant-config.yaml. Key settings:

SettingValueNotes
HTTP port6333REST API
gRPC port6334High-performance gRPC API
Data storage12Gi PVCVector data
Snapshot storage5Gi PVCBackup snapshots
AuthAPI keyFrom secrets

Secrets

VariableFilePurpose
DEFAULT_QDRANT_API_KEY.uis.secrets/secrets-config/default-secrets.envAPI key for all requests

Key Files

FilePurpose
manifests/044-qdrant-config.yamlHelm values (storage, auth, resources)
ansible/playbooks/044-setup-qdrant.ymlDeployment playbook with 15 verification tests
ansible/playbooks/044-remove-qdrant.ymlRemoval playbook

Undeploy

./uis undeploy qdrant

Troubleshooting

Pod won't start:

kubectl describe pod -l app.kubernetes.io/name=qdrant
kubectl logs -l app.kubernetes.io/name=qdrant

API authentication fails (401): Check the API key in secrets:

kubectl get secret urbalurba-secrets -o jsonpath="{.data.QDRANT_API_KEY}" | base64 -d

Storage full:

kubectl exec -it $(kubectl get pod -l app.kubernetes.io/name=qdrant -o name) -- df -h

Learn More