|Index|SUSE AI Factory Applications|Qdrant

7 Qdrant

Qdrant (https://qdrant.tech) is an open-source, AI-native vector database and semantic search engine designed for high-performance retrieval-augmented generation. It indexes, stores and searches high-dimensional vector embeddings with low latency and high accuracy. The database handles unstructured data efficiently and supports fast vector-similarity queries for enterprise artificial intelligence applications.

7.1 How do I get the values list for Qdrant Helm chart?

Before deploying Qdrant, it is important to know more about the supported configurations.

  1. (Optional) To get the values for a specific Qdrant chart version, log in to SUSE Registry and identify the version. To prevent the password from being stored in the shell history, save it to the password.txt file.

    > skopeo login registry.suse.com \
      --username regcode \
      --password-stdin < password.txt
    > skopeo list-tags docker://registry.suse.com/ai/charts/qdrant
  2. Log in to SUSE Registry where Qdrant chart is stored. To prevent the password from being stored in the shell history, save it to the password.txt file.

    > helm registry login registry.suse.com \
      --username regcode \
      --password-stdin < password.txt
  3. Display all values of the Qdrant Helm chart. Omit --version to display the latest chart.

    > helm show values oci://registry.suse.com/ai/charts/qdrant \
      --version <VERSION>

7.2 How do I install Qdrant?

You can install Qdrant either using Rancher Prime or on the command line with Helm.

7.2.1 Installing with Rancher Prime

Refer to AI application installation for a general installation procedure.

7.2.2 Installing with Helm

  1. Log in to SUSE Registry. To prevent the password from being stored in the shell history, save it to the password.txt file.

    > helm registry login registry.suse.com \
      --username=regcode \
      --password-stdin < password.txt
  2. Create a namespace for Qdrant.

    > kubectl create namespace qdrant-system \
      --dry-run=client \
      -o yaml | kubectl apply -f -
  3. (Optional) If you have not created image pull secrets for SUSE Registry, create them now. To prevent the password from being stored in the shell history, save it to the password.txt file.

    > kubectl create secret docker-registry suse-ai-registry \
      --docker-server=registry.suse.com \
      --docker-username=regcode \
      --docker-password="$(< password.txt)" \
      -n qdrant-system \
      --dry-run=client -o yaml | kubectl apply -f -
  4. (Optional) To override default installation values, list them in a values.yaml file. For a complete list of Qdrant chart values, refer to Section 7.1, “How do I get the values list for Qdrant Helm chart?”.

  5. Install Qdrant. To keep the default installation values, omit -f values.yaml.

    > helm install qdrant \
      oci://registry.suse.com/ai/charts/qdrant \
      -n qdrant-system \
      -f values.yaml

7.3 What custom values examples are available for Qdrant?

To override the default values during the Helm chart installation or update, you can create a YAML file with custom values. Then, apply these values by specifying the path to the custom values file with the -f option of the helm command.

Example 7.1: Basic custom values file when the cluster has no default storage class set.
# qdrant_custom_overrides.yaml
global:
  imagePullSecrets:
    - suse-ai-registry
persistence:
  accessModes: ["ReadWriteOnce"]
  size: 10Gi
  annotations: {}
  storageClassName: local-path 1
  # storageVolumeName: qdrant-storage
  # storageSubPath: ""
  # volumeAttributesClassName: ""

1

Use local-path storage only for testing purposes. For production use, we recommend using a storage solution suitable for persistent storage, such as SUSE Storage.

Example 7.2: An example where Qdrant uses GPU capabilities.
# qdrant_custom_overrides.yaml
global:
  imagePullSecrets:
    - suse-ai-registry
env:
  - name: QDRANT__GPU__INDEXING
    value: "1"
  - name: QDRANT__LOG_LEVEL
    value: debug
image:
  registry: dp.apps.rancher.io
  repository: containers/qdrant
  pullPolicy: IfNotPresent
  useUnprivilegedImage: false
  tag: "v1.17.0-gpu-nvidia"
persistence:
  accessModes: ["ReadWriteOnce"]
  size: 10Gi
  annotations: {}
  additionalLabels: {}
  # storageVolumeName: qdrant-storage
  # storageSubPath: ""
  storageClassName: local-path 1
  # volumeAttributesClassName: ""
resources:
  requests:
    nvidia.com/gpu: 1
  limits:
    nvidia.com/gpu: 1

1

Use local-path storage only for testing purposes. For production use, we recommend using a storage solution suitable for persistent storage, such as SUSE Storage.

7.4 How do I upgrade Qdrant?

You can upgrade Qdrant either using Rancher Prime or on the command line with Helm.

7.4.1 Upgrading with Rancher Prime

Refer to AI application upgrade for a general upgrade procedure.

7.4.2 Upgrading with Helm

  1. Log in to SUSE Registry. To prevent the password from being stored in the shell history, save it to the password.txt file.

    > helm registry login registry.suse.com \
      --username=regcode \
      --password-stdin < password.txt
  2. Upgrade Qdrant.

    > helm upgrade qdrant \
      oci://registry.suse.com/ai/charts/qdrant \
      -n qdrant-system \
      --version <VERSION_NUMBER> \ 1
      --wait --timeout 15m \
      --force-conflicts

    1

    If you omit --version, Qdrant gets upgraded to the latest available version.

7.5 How do I remove Qdrant?

You can remove Qdrant either using Rancher Prime or on the command line with Helm.

7.5.1 Removal using Rancher Prime

Refer to AI application removal for a general removal procedure.

7.5.2 Removal using Helm

To remove Qdrant using Helm, use the following command:

> helm uninstall qdrant -n qdrant-system