Qlik Sense Enterprise on Kubernetes のインストール

Kubernetes クラスターをセットアップし、ローカル ツールを用意すれば、Qlik Sense EnterpriseKubernetes クラスターにインストールする準備が整います。

要約すると、インストール前に最低でも以下の作業を終了しておきます。

  • Kubernetes クラスターをセットアップし、readwritemany ストレージのストレージ クラスを追加する
  • ローカル ツールを Kubernetes クラスターで使用できるように準備する

以下に、最初の簡単なインストールのインストール ステップを示します。これには、稼働に必要な MongoDB のテスト インスタンスと単純な IDP の展開が含まれます。実稼働可能な状態に移行するため、以下の領域についての追加のトピックをもう一度参照してください。

設定値の入力

Qlik Sense Enterprise on Kubernetes のインストール時には、2 つの方法でインストーラに設定値を指定できます。

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

構成設定を values.yaml に保存することにより、複数の展開でその設定を再使用し、簡単に新しい config セクションを追加できます。これにより、バージョン管理も可能です。

values.yaml ファイルの情報は、主に Qlik ヘルプで使用されます。YAML ファイルに関する詳細な情報は、https://en.wikipedia.org/wiki/YAML などのサイトでオンラインで参照できます。

Qlik Sense のインストール

以下のステップに従って Qlik Sense をインストールします。

  1. values.yaml というファイル名でテキスト ファイルを作成します。

    1. 以下の内容をファイルに追加します。

      #This setting enables dev mode to include a local MongoDB install 
      devMode:
        enabled: true
      
      #This setting accepts the EULA for the product 
      engine:
        acceptEULA: "yes"
      devMode.enabled を true に設定すると、MongoDB インスタンスは、展開とテストの目的でのみ Kubernetes での Qlik Sense Enterprise on Kubernetes の内部に展開されます。
    2. ストレージを必要とするサービスを指し示す次の内容を Kubernetes ストレージ クラスに追加し、必要に応じてストレージ クラスの名前をを更新します。

      注: Kubernetes via Docker for Desktop または Minikube を使用する場合は、このセクションを追加しないでください。
      #These setting specifies the storage for the services
      global:
        persistence:
          storageClass: my-storage-class
    3. テスト目的で Minikube を使用している場合は、ここで追加の構成を確認して追加する必要があります。Minikube の使用を参照してください。

    4. ファイルを保存します。

  2. Qlik Sense はエンジンを動的に作成してスケジュールされたロードを実行します。この動作を可能にするには、エンジンをカスタム リソースとして Kubernetes で構成する必要があります。

    このステップは、1 つのクラスターについて 1 回だけ行う必要があります。次のコマンドを実行して、動的エンジンが使用するカスタム リソース定義をインストールします。

    helm install --name qliksense-init qlik/qliksense-init
  3. 次のステップでは、Qlik Sense パッケージをインストールします。次のコマンドを実行します。

    helm install -n qliksense qlik/qliksense -f values.yaml

    これで、すべての画像のダウンロードとそれらの実行を含め、Kubernetes クラスターでの展開がソフトウェアで開始されます。

  4. この段階で、kubectl を使用して進行状況を確認できます。次のコマンドを実行します。
    kubectl get pods

    正常に展開されると、次のようなテキストが表示されます。

    NAME READY STATUS RESTARTS AGE qliksense-collections-7f456595b8-vjhtf 1/1 Running 0 2m qliksense-edge-auth-858f89b849-42z66 2/2 Running 0 2m … (lines removed for brevity)
    通常、初期化されて「実行中」のステータスが表示されるまでに数分の時間がかかります。
    ヒント: サービスが開始されない場合は、そのサービスのログ ファイルで詳細を確認してください。ペンディング状態のサービスが残っている場合は、Kubernetes クラスターにストレージ クラスとして readwritemany ストレージが存在しており、YAML で正しく参照されていることを確認してください。

展開へのアクセス

ハブに接続し、Kubernetes クラスター内部のインストールの URL を取得するために必要なインストールを確認します。これは、構成またはベンダーによって次のように異なります。

ほとんどのクラウド ベンダー (AWSGCPAzure など) では、インストール時に IP アドレスが自動的に生成されます。アドレスは、次のコマンドを実行して調べることができます。

kubectl describe service qliksense-nginx-ingress-controller

Docker Desktop の場合、IP は通常、マシンのループバック アドレス 127.0.0.1 です。Minikube の場合は、minikube ip コマンドを実行することによって IP を入手できます。

IP アドレスへのエイリアスの作成

この簡単な展開では、サンプルの ID プロバイダーが自動的に設定されます。これにより、いくつかのサンプル アカウントで hub にログインすることができます。このサービスは、既定で URL https://elastic.example でのみ待ち受け、IP アドレスだけでは参照することができません。このため、ホスト ファイル エントリを追加し、その URL からの IP アドレスを elastic.example のエイリアスに指すように指定する必要があります。

このステップは、基本例を実行する場合にのみ必要とされ、実稼働では実際の ID プロバイダーが使用され、その期間にはクラスターの正しい DNS エントリが使用されます。

注: シンプル IdP はテスト目的でのみ使用されており、ID プロバイダーの設定 を再び参照してフル IdP を設定する必要があります。

ログインとライセンスの適用

これで、https://elastic.example において hub を参照することができるようになりました。ログインを求められますが、サンプル アカウントとして harley@qlik.example を、パスワードとして Password1! を使用できます。

アプリケーションを作成できるようにするには、ここで https://elastic.example/console に移動してライセンスを適用する必要があります。「Management Console」を参照してください。