4.2. キャッシュサービスの作成

cache-service を使用して、最小限の設定でパフォーマンスを最適化して、使用性を高めるクラスターを迅速に設定します。

  1. new-app コマンドでサービスを作成します。
  2. 必要に応じて、テンプレートパラメーターおよび環境変数を設定します。

以下に例を示します。

  • 最小設定で cache-service を作成します。

    $ oc new-app cache-service \
      -p APPLICATION_USER=${USERNAME} \
      -p APPLICATION_PASSWORD=${PASSWORD}
  • 3 つのノードとデータレプリケーションを使用して、cache-service クラスターを作成します。

    $ oc new-app cache-service \
      -p APPLICATION_USER=${USERNAME} \
      -p APPLICATION_PASSWORD=${PASSWORD} \
      -p NUMBER_OF_INSTANCES=3 \
      -p REPLICATION_FACTOR=2

テンプレートパラメーター

  • APPLICATION_NAME はアプリケーションの名前を指定します。デフォルトは cache-service です。
  • NUMBER_OF_INSTANCES は、OpenShift クラスターの Data Grid のノード数を設定します。デフォルトは 1 です。
  • TOTAL_CONTAINER_MEM は、コンテナーで利用可能なメモリーの合計量(MiB 単位)を設定します。デフォルトは 512 です。
  • APPLICATION_USER は、キャッシュにセキュアにアクセスするためのユーザーを作成します。デフォルト値はありません。常にユーザーを作成する必要があります。
  • APPLICATION_PASSWORD はユーザーのパスワードを指定します。パスワードを設定しない場合には、サービステンプレートにより、パスワードが無作為に生成されてシークレットとして保存されます。
  • REPLICATION_FACTOR は各キャッシュエントリーのコピー数を指定します。デフォルトは 1 です。
  • EVICTION_POLICY は、キャッシュのサイズが Pod で利用可能なメモリー量に達した時のcache-service の動作を定義します。2 つの値を使用できます。

    • evict はエントリーをキャッシュから削除します。これがデフォルトになります。
    • reject は、新規エントリーを追加する代わりに ContainerFullException をスローします。

環境変数

  • AB_PROMETHEUS_ENABLE を使用すると、JMX メトリクスを収集して Data Grid を監視および分析でき、以下の値を指定できます。

    false
    デフォルトの Prometheus エージェントを使用したモニタリングを無効にします。
    true
    デフォルトの Prometheus エージェントでモニタリングを有効にします。Prometheus Operator がインストールされ、実行されている必要があります。サービスの作成後に モニタリングを設定 する必要もあります。
  • AB_PROMETHEUS_JMX_EXPORTER_PORT は、Data Grid が JMX メトリクスを公開するポートを定義します。デフォルトは 9779 です。

アプリケーションの確認

以下の例のように、cache-service の作成時に、コマンドの出力にパラメーター値およびリソースが表示されます。

--> Deploying template "rhdg-helloworld/cache-service" to project rhdg-helloworld

     Red Hat Cache Service
     ---------
     Red Hat Data Grid is an in-memory, distributed key/value store.

     * With parameters:
        ...

--> Creating resources ...
    secret "cache-service" created
    service "cache-service-ping" created
    service "cache-service" created
    statefulset "cache-service" created
--> Success
    ...
ヒント