Configuring MongoDB in Qlik Sense Enterprise on Kubernetes

Qlik Sense Enterprise on Kubernetes uses MongoDB as a database for persisting content for several services (excluding Qlik Sense app files).

By default, a pre-configured MongoDB Community Edition is added during the installation of Qlik Sense Enterprise on Kubernetes (QSEoK). This is only intended to be used for quick start, testing and evaluation purposes. If you use this version, your MongoDB data may be lost if the Kubernetes cluster is updated.

You can set up a production-ready MongoDB environment in the following ways:

  • Deploy a separate MongoDB server or cluster along-side Qlik Sense.
  • Use a MongoDB DBaaS provider (such as MongoDB Atlas or mlab)

Configuring the MongoDB connection

When installing QSEoK you can specify your MongoDB connection as follows:

  • A parameter in the helm install command.
  • Referencing the connecting settings in a values.yaml and using this in the helm install command.

Using CLI paramaters

You can extend the basic helm install command by setting the following properties:

  • Set the devMode.enabled value to false to disable development mode.
  • Set the mongodb.uri value with the connection string to MongoDB.

Example:  

helm upgrade \
    --install qliksense qlik/qliksense \
    --set mongodb.uri=<your-connection-string>,engine.acceptEULA="yes"

Example: Connection URI format

The connection string format will vary depending on the configuration used. This format will be different if using a Kubernetes secret to connect with.

mongodb://user:password@mongodbhost:port/databasename`
Note: Some services assume that SSL is enabled in MongoDB. If SSL is not being used then add `?ssl=false` to end of the connection URI.

Referencing values.yaml

Create the values.yaml file and include the settings you want to reference in the helm install command.

  • Set the devMode.enabled value to false to disable development mode.
  • Set the mongodb.uri value with the connection string to MongoDB.

Example: values.yaml

engine:
  acceptEULA: "yes"

devMode:
  enabled: false
mongodb:
  uri: "<your-connection-string>"

identity-providers:
  secrets:
    idpConfigs:
      - <your IdP configuration here>

The values.yaml file is then referenced in the helm install command:

helm upgrade \
  --install qliksense qlik/qliksense \
  -f values.yaml

Did this information help you?

Thanks for letting us know. Is there anything you'd like to tell us about this topic?

Can you tell us why it did not help you and how we can improve it?