Qlik Sense Enterprise on Kubernetes での MongoDB の構成

Qlik Sense Enterprise on Kubernetes は、いくつかのサービスの持続コンテンツ向け (Qlik Sense アプリ ファイルを除く) のデータベースとして MongoDB を使用します。

既定では、Qlik Sense Enterprise on Kubernetes (QSEoK) のインストール時に事前構成済みの MongoDB Community Edition が追加されます。これは、クイック スタート、テスト、評価の目的でのみ使用することを意図されています。このバージョンを使用する場合は、Kubernetes クラスターが更新されると MongoDB のデータが失われる可能性があります。

実稼働可能な MongoDB 環境は次の方法でセットアップできます。

  • 別々の MongoDB サーバーまたはクラスターを Qlik Sense と並列に展開します。
  • MongoDB DBaaS プロバイダー (MongoDB Atlas または mlab など) を使用する

MongoDB 接続の構成

QSEoK のインストール時には、使用する MongoDB 接続を次のようにして指定できます。

  • helm install コマンドのパラメータ。
  • values.yaml の接続設定を参照し、その情報を helm install コマンドで使用する。

CLI パラメーターの使用

基本 helm install コマンドは、次のプロパティを設定することによって拡張できます。

  • devMode.enabled 値を false に設定して開発モードを無効にします。
  • 接続文字列を含む mongodb.uri 値を MongoDB に設定します。

Example:  

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

Example: 接続 URI のフォーマット

接続文字列のフォーマットは使用する構成によって変わります。Kubernetes の Secret 機能を使用して接続する場合、フォーマットは異なります。

mongodb://user:password@mongodbhost:port/databasename
注: 一部のサービスでは、MongoDB の SSL が有効になっているとみなされています。SSL を使用していない場合は、接続 URI の末尾に ?ssl=false を追加します。

参照 values.yaml

values.yaml ファイルを作成し、helm install コマンドで参照する設定を含めます。

  • devMode.enabled 値を false に設定して開発モードを無効にします。
  • 接続文字列を含む mongodb.uri 値を MongoDB に設定します。

Example: values.yaml

engine:
  acceptEULA: "yes"

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

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

これで、values.yaml ファイルが helm install コマンドで参照されます。

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

SSL を使用した MongoDB への接続

MongoDB リポジトリ データベースへの、セキュア ソケット レイヤー (SSL) を使用した接続をセットアップできます。

注: Qlik Sense Enterprise on Kubernetes June 2019 およびそれ以降で動作します。

MongoDB サーバーは SSL 証明書とともに設定され、SSL 接続が許可される必要があります。

接続 URI の末尾に ?ssl=true を追加し、MongoDB リポジトリ データベースに SSL を使用して接続します。

devMode:
  enabled: false

mongodb:
  uri: <your-connection-string>?ssl=true

MongoDB データベースが自己署名証明書、またはパブリック認証局 (CA) により発行されたものではない証明書によりセットアップされた場合、 CA 証明書チェーンを values.yaml ファイルに追加する必要があります。

global:
  certs:
    enabled: true
    configMap:
      create: true
      name: "{{ .Release.Name }}-ca-certs"
      certs: |+
        -----BEGIN CERTIFICATE-----
        MIIDLDCCAhSgAwIBAgIQANxWuceSqgA8h3fJ1Q7ZiTANBgkqhkiG9w0BAQsFADAm
        MSQwIgYDVQQDDBtRbGlrU2VydmVyMi5kb21haW4ubG9jYWwtQ0EwHhcNMTcwOTA5
        MTA1NjMwWhcNMjcwOTE2MTA1NjMwWjAmMSQwIgYDVQQDDBtRbGlrU2VydmVyMi5k
        b21haW4ubG9jYWwtQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCZ
        mnjqNBml1RU6vbRlakPNrCasFZSherijN4Rzj54BMb0cljC2ZfOnve2ZS5k27Dp9
        Yt/S30B6MQTRNZBCOCOw3jqnOW87iemxhoE713EkF+zNcWnhHRA53+be1iIhV+kE
        fyFl6/4QQmUmZo2hu6gIajmdtZvM/CgjiPdF5a6KQp4WHA339afuIMR5KQe1Qt7E
        xqaTbh7niOJEXZXSHcbT80sFam4O36rGMpjuseDbJgsIlLGSw1QwnIxWf+bFlbiD
        +2XJclAVXt+BCrsYfBXd3akLDulStW+X9SFFqX1V8+rkDdOV8lffaNhN6K4HQeBG
        ...
        LmIMzgUM9+baRYUwC552X6+szY55xqY210yjFGSqrZDyyrJMi9RhDhSL1ZqIIJDm
        kpjNMY87Qa/c2slWTjg9lE/550nBFZfQoD1zODVALCil9Tlb43wRsn8nMdD4U6Qz
        cgYfPkhRw2oUZuZwTmPOIYMrWPmmGXY4T9lZrq5afS7p+et1TKXZEZAC7akXDYL4
        CRjjXsfxmDaxy8sefg+L0nHgvESc1hWEBD2LlVVWbZCFi4MrwkkDyik5NWu6GkN2
        2xi+CJX3EBhHb1aFVDGd5dBSv3agXatsAnUMzxquuvtKbrURbMfyPCyiAZwlG9AN
        -----END CERTIFICATE-----

参考

  • enabled: グローバル CA 証明書の使用を有効 (true) または無効 (false) にする。
  • create: CA 証明書 configMap の作成を有効 (true) または無効 (false) にする。
  • name: リリース名に基づく、テンプレート化された CA 証明書 configMap 名。
  • certs: グローバル CA 証明書チェーン。これはあらゆる既存の CA トラストチェーンを置き換えます。