第12章 Data Grid for OpenShift のカスタマイズ

Source-to-Image(S2I)プロセスまたは ConfigMap API を使用して、カスタム設定で Data Grid イメージを使用します。

注記

Red Hat は、Data Grid for OpenShift イメージおよび datagrid-servicecache-service テンプレートを使用して、Data Grid クラスターを作成することを推奨します。カスタム設定で Data Grid Pod を作成できますが、datagrid-service および cache-service はパフォーマンスが高くなるように設計されており、設定がほぼ必要でないさまざまなユースケースに適しています。

Setting Up Data Grid for OpenShift Services に移動し、Data Grid クラスターをすばやく作成する方法を確認してください。

Source-to-Image (S2I)

S2I プロセスおよびバイナリービルドを使用して、カスタム Data Grid イメージを作成します。

キャッシュ定義とエンドポイント設定を openshift-clustered.xml に追加し、S2I 機能を使用してその設定ファイルを使用するカスタム Data Grid イメージをビルドします。その後、必要に応じてイメージで Data Grid Pod を作成できます。

設定を変更するには、新規イメージを構築する必要があります。ただし、カスタムイメージを再構築すると、新しい設定変更で Data Grid Pod が自動的に再デプロイされます。

ConfigMap API

Red Hat OpenShift ConfigMap API を使用して、Data Grid Pod を動的に設定します。

namespace の ConfigMap オブジェクトに Data Grid Pod としてマッピングする standalone.xml でカスタム設定を定義します。Data Grid 設定を変更してから、Pod を再デプロイして設定変更を読み込むことができます。ただし、standalone.xml を変更しても、Data Grid Pod は自動的に再デプロイされません。設定の変更を読み込むには、Pod を手動で再デプロイする必要があります。

  • Data Grid Pod を作成する前に、standalone.xml ですべてのキャッシュおよびエンドポイント設定を明示的に定義する必要があります。

    デプロイメントの前にプレースホルダーが存在しない限り、キャッシュおよびエンドポイント設定の環境変数は有効になりません。たとえば、以下は JGROUPS_PING_PROTOCOL のプレースホルダーになります。

    <!-- ##JGROUPS_PING_PROTOCOL## -->

    利用可能なプレースホルダーを確認するには、clustered-openshift.xml を参照してください。

  • クライアントをサーバートラフィックに暗号化するには、standalone.xml でサーバーアイデンティティーを設定する必要があります。
  • DATAGRID_SPLIT 環境変数は、ConfigMap API 経由でカスタマイズする Data Grid for OpenShift Pod には影響を与えません。これらの Pod は DATAGRID_SPLIT で共有永続ボリュームを使用できません。

12.1. Data Grid のクローン作成例

  1. Data Grid for OpenShift イメージソースリポジトリーのクローンを作成します。

    $ git clone git@github.com:jboss-container-images/jboss-datagrid-7-openshift-image.git .
  2. 以下のように、docs/examples ディレクトリーの内容を表示します。

    $ cd jboss-datagrid-7-openshift-image/docs/examples/s2i/configuration
    
    $ tree
    .
    ├── s2i
    │   └── configuration
    │       └── clustered-openshift.xml
    └── user-configuration
        ├── standalone.xml
        └── user-config-template.yaml
    S2I

    clustered-openshift.xml を、Data Grid for OpenShift イメージ内の ${JBOSS_HOME}/standalone/configuration/ に挿入します。

    ヒント

    カスタムの logging.properties および application-role.properties設定ディレクトリー に追加して、カスタムイメージのビルド時に追加します。

    ConfigMap
    standalone.xml を、Data Grid for OpenShift 内の /opt/datagrid/standalone/configuration/user ディレクトリーにマッピングします。