6.4.6 TP1-Bridgeの要件(通常版かつTP1-Bridge限定)
このKubernetesアプリケーションは、HMP-PCTOとして提供します。次の表に示す要件を満たすように作成します。
項目 |
要件 |
---|---|
ワークロードリソース |
Deploymentリソースとしてください。 |
ネームスペース |
規定しません。 |
ラベル |
|
アノテーション |
設定しません(デフォルト)。 |
初期化コンテナ構成 |
|
コンテナ構成 |
|
レプリカ数 |
「1」としてください。 |
再起動ポリシー |
コンテナ障害時は必ず再起動(オートヒーリング)してください(Kubernetesのデフォルト設定)。 |
アップデートストラテジー |
規定しません。 |
Podセキュリティコンテキスト |
設定しません。 |
アクセス制御 |
Podに対するロールベースアクセス制御(RBAC)で次のとおり対象リソースへのアクセス許可を定義してください。 <Mediator選択機能用ロール>
これらのアクセス許可を定義するためのKubernetesリソースは、ClusterRoleリソース、ClusterRoleBindingリソース、ServiceAccountリソースを使用してください。 <デプロイ依存関係チェック機能用ロール>
これらのアクセス許可を定義するためのKubernetesリソースは、次に示すとおり使い分けてください。
|
ServiceAccountリソースのトークンの自動マウント(automountServiceAccountTokenフィールド)を「有効(true)」にしてください(Kubernetesのデフォルト設定)。 |
|
Podの割り当てノードの制御 |
規定しません。 |
永続化ボリューム |
uCosminexus Application Runtime with Java for Spring Bootスナップショットログの永続ボリュームを割り当ててください。 |
Podライフサイクル設定 |
terminationGracePeriodSecondsを次のとおり設定してください。
|
<制限事項>
スケーリングは不可とします(手動/自動、スケールアウト/インに関係なく)。
コンテナごとの要件を次に示します。
項目 |
要件 |
---|---|
コマンド |
次に示すコマンド引数(args)を設定します。
(エントリポイントはDependency-Checkerコンテナイメージで「HMP-PCTOのデプロイ依存関係チェックスクリプト(dependency_check.sh)」を設定済みです) |
ネットワーク設定 |
設定しません(デフォルト)。 |
コンフィグ設定 |
設定しません(デフォルト)。 |
コンテナセキュリティコンテキスト |
設定しません(デフォルト)。 |
コンテナライフサイクル設定 |
設定しません(デフォルト)。 |
CPU/メモリリソース制限 |
設定しません(デフォルト)。 |
項目 |
要件 |
---|---|
コマンド |
設定しません(デフォルト)。 |
ネットワーク設定 |
Kubernetesクラスタ内で次のポートを公開してください(Serviceリソース)。
|
コンフィグ設定 |
次のHMP-PCTOのパラメタを、Spring Bootのコンフィグソースに設定してください。
次のとおりファイルを配置します。
|
HMP-PCTOのgRPC通信の暗号化を有効にする場合(Helmチャートのgrpc.useTlsがtrue)、取扱説明書「HMP-PCTO テクニカルガイド」の各プロセスの認証種別ごとに必要となるファイルの一覧に関する説明に示すとおり、gRPC通信機能の暗号化通信で必要となるファイルをコンテナ内にマウントしてください。 次のとおりファイルを配置します。
さらに、クライアント認証を行う場合(Helmチャートのgrpc.tls.clientAuth.enabledがtrue)は、次のとおりファイルを配置します。
「TP1-BridgeのgRPC通信機能の暗号化通信用シークレット」をユーザが作成します(「(3) TP1-Bridge、MediatorのgRPC通信機能の暗号化通信用シークレットの作成」を参照してください)。 ユーザが作成した「TP1-BridgeのgRPC通信機能の暗号化通信用シークレット」をDeploymentsから参照する際、Helmチャートのgrpc.tls.secretNameパラメタに指定されているSecretオブジェクト名で参照してください。 |
|
環境変数TZでタイムゾーンを設定します。ユーザ責務のKubernetesアプリケーションと同じタイムゾーンに設定することを推奨します。デフォルト値は日本標準時(Asia/Tokyo、UTC+09:00)です。 |
|
Helmチャートのtimezoneパラメタで、TP1-Bridgeコンテナのタイムゾーンを指定します。 |
|
Helmチャートのjava.optionsパラメタで、TP1-BridgeのJavaプロセス起動時にJava VMに渡すオプションを指定してください。 |
|
uCosminexus Application Runtime with Java for Spring Bootの設定ファイル(config.properties)をコンテナ内にマウントしてください。 次のとおりファイルを配置してください。
|
|
コンテナセキュリティコンテキスト |
設定しません(デフォルト)。 |
コンテナライフサイクル設定 |
|
CPU/メモリリソース制限 |
実稼働を通して、環境に合わせた設定を実施してください。 |
項目 |
要件 |
---|---|
コマンド |
次に示すコマンド引数(args)を設定します。
|
ネットワーク設定 |
規定しません。 |
コンフィグ設定 |
|
コンテナセキュリティコンテキスト |
規定しません。 |
コンテナライフサイクル設定 |
|
CPU/メモリリソース制限 |
規定しません。 |
Helmチャートのディレクトリ/ファイル構成を次の表に示します。
ディレクトリ/ファイル |
説明 |
||
---|---|---|---|
templates/ |
Helmチャートのtemplate配置用ディレクトリ |
||
includes/ |
HelmチャートのConfigMapオブジェクトの設定内容外部化ファイル配置用ディレクトリ |
||
application.properties.tp1 |
TP1-BridgeのConfigMapオブジェクトの設定内容外部化ファイル |
||
tp1-bridge-config-map-data.yaml |
TP1-BridgeのConfigMapオブジェクトの設定内容外部化ファイル |
||
config.properties.tpl |
uCosminexus Application Runtime with Java for Spring BootのConfigMapオブジェクトの設定内容外部化ファイル |
||
ucars-config-map-data.yaml |
uCosminexus Application Runtime with Java for Spring BootのConfigMapオブジェクトの設定内容外部化ファイル |
||
filebeat.yml.tpl |
FilebeatのConfigMapオブジェクトの設定内容外部化ファイル |
||
filebeat-config-map-data.yaml |
FilebeatのConfigMapオブジェクトの設定内容外部化ファイル |
||
eads-config-map-data.yaml |
EADSクライアントのConfigMapオブジェクトの設定内容外部化ファイル |
||
hmp-pcto.eads-client.properties.tpl |
EADSクライアントのConfigMapオブジェクトの設定内容外部化ファイル |
||
tp1-bridge-config-map.yaml |
TP1-BridgeのConfigMapオブジェクトのマニフェスト |
||
ucars-config-map.yaml |
uCosminexus Application Runtime with Java for Spring BootのConfigMapオブジェクトのマニフェスト |
||
filebeat-config-map.yaml |
FilebeatのConfigMapオブジェクトのマニフェスト |
||
service.yaml |
Serviceオブジェクトのマニフェスト |
||
serviceaccount.yaml |
ServiceAccountオブジェクトのマニフェスト |
||
deployment.yaml |
Deploymentオブジェクトのマニフェスト |
||
eads-config-map.yaml |
EADSクライアントのConfigMapオブジェクトのマニフェスト |
||
Chart.yaml |
Chart.yaml |
||
values.yaml |
values.yaml |
||
values.schema.json |
values.yamlの設定値のバリデーション用ファイル |