5.4.3 SQL-Participantの要件
このKubernetesアプリケーションは、次の表に示すSQL-Participantの要件を満たすように作成します。
|
項目 |
要件 |
|---|---|
|
ワークロードリソース |
規定しません。任意(Deploymentなど)とします。 |
|
ネームスペース |
SQL-Participantを構成するPodを定義したKubernetesのServiceのService名(.metadata.nameフィールド)とネームスペース名(.metadata.namespaceフィールド)を「.」でつないだ文字列が、41バイト以内の文字列となるように、ネームスペース名を検討してください。 |
|
ラベル |
規定しません。※1 |
|
アノテーション |
規定しません。 |
|
初期化コンテナ構成 |
Dependency-Checkerコンテナ(「4.3.8 Dependency-Checkerコンテナイメージ」を参照してください) |
|
コンテナ構成 |
Entity-Serviceコンテナ(「4.3.4 Entity-Serviceコンテナイメージ」を参照してください) SQL-Participantコンテナ(「4.3.5 SQL-Participantコンテナイメージ」を参照してください) Filebeatコンテナ |
|
レプリカ数 |
規定しません。 |
|
再起動ポリシー |
コンテナ障害時は必ず再起動(オートヒーリング)してください(Kubernetesのデフォルト設定)。 |
|
アップデートストラテジー |
規定しません。 |
|
Podセキュリティコンテキスト |
規定しません。 |
|
アクセス制御 |
Podに対するロールベースアクセス制御(RBAC)で次のとおり対象リソースへのアクセス許可を定義してください。 <Mediator選択機能用ロール>
上記アクセス許可を定義するためのKubernetesリソースはClusterRoleリソース、ClusterRoleBindingリソース、ServiceAccountリソースを使用すること。 <デプロイ依存関係チェック機能用ロール>
これらのアクセス許可を定義するためのKubernetesリソースは、次に示すとおり使い分けてください。
|
|
ServiceAccountリソースのトークンの自動マウント(automountServiceAccountTokenフィールド)を「有効(true)」にしてください(Kubernetesのデフォルト設定)。 |
|
|
Podの割り当てノードの制御 |
規定しません。 |
|
永続化ボリューム |
|
|
Podライフサイクル設定 |
terminationGracePeriodSecondsを次のとおり設定してください。
|
- 注※1
-
DeploymentリソースやStatefulSetリソースの場合は、Kubernetesのマニフェストの記述仕様に従って、.spec.selectorと.spec.template.metadata.labelsの紐づけのために最低1つ以上のラベルを定義する必要があります。Kubernetesマニフェストの記述仕様の詳細については、Kubernetesのマニュアルなどを参照してください。
- 注※2
-
ParticipantのDependency-Checkerコンテナで指定するターゲットKubernetesオブジェクト群については、「表5‒11 SQL-ParticipantのDependency-Checkerコンテナの要件」を参照してください。
コンテナごとの要件を次に示します。
|
項目 |
要件 |
|---|---|
|
コマンド |
次に示すコマンド引数(args)を設定します。
(エントリポイントはDependency-Checkerコンテナイメージで「HMP-PCTOのデプロイ依存関係チェックスクリプト(dependency_check.sh)」を設定済みです) |
|
ネットワーク設定 |
設定しません(デフォルト)。 |
|
コンフィグ設定 |
設定しません(デフォルト)。 |
|
コンテナセキュリティコンテキスト |
設定しません(デフォルト)。 |
|
コンテナライフサイクル設定 |
設定しません(デフォルト)。 |
|
CPU/メモリリソース制限 |
設定しません(デフォルト)。 |
|
項目 |
要件 |
|---|---|
|
コマンド |
設定しません(デフォルト)。 |
|
ネットワーク設定 |
Kubernetesクラスタ内で次のポートを公開してください(Serviceリソース)。
|
|
コンフィグ設定 |
次のHMP-PCTOのパラメタを、Spring Bootのコンフィグソース(application.properties、application.yml、環境変数など)に設定してください。
|
|
タイムゾーンの設定は任意です。 |
|
|
環境変数HMPPCTO_JAVA_OPTIONSでEntity-ServiceのJavaプロセス起動時にJava VMに渡すオプションを指定してください。 |
|
|
uCosminexus Application Runtime with Java for Spring Bootの設定ファイル(config.properties)をコンテナ内にマウントしてください(通常版(uCosminexus Application Runtime with Java for Spring Boot導入あり)の場合だけ)。 次のとおりファイルを配置してください。
|
|
|
コンテナセキュリティコンテキスト |
規定しません。 |
|
コンテナライフサイクル設定 |
規定しません。 |
|
CPU/メモリリソース制限 |
実稼働を通して、環境に合わせた設定を実施してください。 |
|
項目 |
要件 |
|---|---|
|
コマンド |
設定しません(デフォルト)。 |
|
ネットワーク設定 |
SQL-Participant:を構成するPodを定義したKubernetesのServiceのService名(.metadata.nameフィールド)とネームスペース名(.metadata.namespaceフィールド)を「.」でつないだ文字列が、41バイト以内の文字列となるように、ServiceのService名を検討してください。 |
|
Kubernetesクラスタ内で次のポートを公開してください(Serviceリソース)。
|
|
|
コンフィグ設定 |
次のHMP-PCTOのパラメタを、Spring Bootのコンフィグソース(application.properties、application.yml、環境変数など)に設定してください。
|
|
HMP-PCTOのgRPC通信の暗号化を有効にする場合、取扱説明書「HMP-PCTO テクニカルガイド(SQL-Participant編)」の各プロセスの認証種別ごとに必要となるファイルの一覧に関する説明に示すとおり暗号化通信で必要となるファイルをコンテナ内にマウントしてください(Secretリソースなど)。 |
|
|
タイムゾーンの設定は任意です。 |
|
|
環境変数HMPPCTO_JAVA_OPTIONSでSQL-ParticipantのJavaプロセス起動時にJava VMに渡すオプションを指定してください。 |
|
|
uCosminexus Application Runtime with Java for Spring Bootの設定ファイル(config.properties)をコンテナ内にマウントしてください(通常版(uCosminexus Application Runtime with Java for Spring Boot導入あり)の場合だけ)。 次のとおりファイルを配置してください。
|
|
|
コンテナセキュリティコンテキスト |
規定しません。 |
|
コンテナライフサイクル設定 |
|
|
CPU/メモリリソース制限 |
実稼働を通して、環境に合わせた設定を実施してください。 |
|
項目 |
要件 |
|---|---|
|
コマンド |
設定しません(デフォルト)。 |
|
ネットワーク設定 |
規定しません。 |
|
コンフィグ設定 |
filebeat.ymlを「(1) 事前準備」のとおりに設定してください。 |
|
コンテナセキュリティコンテキスト |
規定しません。 |
|
コンテナライフサイクル設定 |
|
|
CPU/メモリリソース制限 |
規定しません。 |