docs/deployment/kubernetes/helm.md
Helm is a package manager for Kubernetes that allows you to configure, install, and upgrade containerized applications in a Kubernetes cluster in a version-controlled and reproducible way.
You can install Quickwit on Kubernetes with the official Quickwit Helm chart. If you encounter any problem with the chart, please, open an issue in our GitHub repository.
To deploy Quickwit on Kubernetes, you will need:
kubectl version)helm version)kubectl and helmTo install kubectl and helm locally, follow the Kubernetes and Helm documentation pages.
helm repo add quickwit https://helm.quickwit.io
helm repo update quickwit
values.yamlYou can inspect the default configuration values of the chart using the following command:
helm show values quickwit/quickwit
Here is an example of a minimal configuration with a file-backed metastore:
environment:
QW_METASTORE_URI: s3://<my-bucket>/quickwit-indexes
config:
default_index_root_uri: s3://<my-bucket>/quickwit-indexes
storage:
s3:
region: eu-east-1
# We recommend using IAM roles and permissions to access Amazon S3 resources,
# but you can specify a pair of access and secret keys if necessary.
access_key_id: <my access key>
secret_access_key: <my secret key>
helm install <deployment name> quickwit/quickwit -f values.yaml
It might take some time for the cluster to start. During the startup process individual pods might restart themselves several times. The command on the previous step will print the instructions on how to connect to the cluster. This endpoint can be used to access the quickwit search UI, as well execute standard API commands against.
The file-backed metastore is mainly useful for testing purposes. Though a file-backed metastore might be easier to setup, we strongly encourage you to use a PostgreSQL metastore in production. For the quickwit installation to work with PostgreSQL metadata you need to provide connection PostgreSQL information instead of metastore URI:
config:
default_index_root_uri: s3://<my-bucket>/quickwit-indexes
postgres:
host: <postgres_host>
port: 5432
database: quickwit-metastore
username: quickwit
password: <my strong password> # This password will be stored as a Kubernetes Secret
storage: {}
s3:
region: eu-east-1
# We recommend using IAM roles and permissions to access Amazon S3 resources,
# but you can specify a pair of access and secret keys if necessary.
access_key_id: <my access key>
secret_access_key: <my secret key>
Run the following Helm command to uninstall the deployment
helm uninstall <deployment name>