Self-Hosted Qdrant on Kubernetes
Self-hosted Qdrant on Kubernetes.
Each self-hosted vectorstore gets its own Qdrant server: a StatefulSet of one replica, with a
persistent volume for its data and snapshots, a ClusterIP Service, and a Secret with its API
key. They are applied, observed and deleted with
KubernetesHelper, and labeled
smarter.sh/vectorstore: <name>, so that they can be selected together.
QdrantKubernetes.apply()creates or updates them.QdrantKubernetes.stop()deletes all but the volume, so that the data survives.QdrantKubernetes.destroy()deletes the volume too.
The Qdrant image is the unprivileged variant, which runs as a non-root user.
- class smarter.apps.vectorstore.kubernetes.QdrantKubernetes(vectorstore, kubernetes=None)[source]
Bases:
objectThe Kubernetes resources of a self-hosted Qdrant server.
- class smarter.apps.vectorstore.kubernetes.QdrantObservation(exists, ready, message)[source]
Bases:
objectThe state of a self-hosted Qdrant server.
- __init__(exists, ready, message)
- exception smarter.apps.vectorstore.kubernetes.VectorstoreKubernetesError(message='')[source]
Bases:
SmarterExceptionThe Kubernetes cluster is unavailable, or rejected a self-hosted vectorstore’s resources.
- smarter.apps.vectorstore.kubernetes.configure_kubernetes(factory)[source]
Use another KubernetesHelper, e.g. a fake in tests.
None restores the default.
- Return type: