Hitachi

Hitachi Microservices Platform - Paxos Commit Transaction Orchestrator ユーザーズガイド


5.4.7 Ext-Consの要件(トライアル版限定)

このKubernetesアプリケーションは、HMP-PCTOとして提供します。トライアル版の場合は、次の表に示す要件を満たすように作成します。

表5‒27 Ext-Consの要件

項目

要件

ワークロードリソース

Deploymentリソースとしてください。

ネームスペース

規定しません。

ラベル

metadata.labelには次に示すキーを設定します。
  • キー名:app.kubernetes.io/instance

    値:<リリース名>

  • キー名:app.kubernetes.io/managed-by

    値:Helm

  • キー名:app.kubernetes.io/name

    値:ext-cons

    備考:チャート名

  • キー名:app.kubernetes.io/version

    値:V.R.S

    備考:バージョン

  • キー名:helm.sh/chart

    値:ext-cons-V.R.S

    備考:<チャート名>-<バージョン>

.spec.selector.matchLabels、および.spec.template.metadata.labelsには次に示すキーを設定します。
  • キー名:app.kubernetes.io/instance

    値:<リリース名>

  • キー名:app.kubernetes.io/name

    値:mediator

    備考:チャート名

アノテーション

設定しません(デフォルト)。

初期化コンテナ構成

コンテナ構成

レプリカ数

「1」

再起動ポリシー

コンテナ障害時は必ず再起動(オートヒーリング)してください(Kubernetesのデフォルト設定)。

アップデートストラテジー

デフォルト(ローリングアップデート)から変更ありません。

Podセキュリティコンテキスト

設定しません(デフォルト)。

アクセス制御

ClusterRoleリソース、ClusterRoleBindingリソース、ServiceAccountリソースを使用して、Podに対するロールベースアクセス制御(RBAC)で次のとおり対象リソースへのアクセス許可を定義してください。

  • APIグループ

    空(コアグループ)、apps

  • リソース

    pods、replicasets、deployments、statefulsets、daemonsets

  • アクセス許可

    get、list

ServiceAccountリソースのトークンの自動マウント(automountServiceAccountTokenフィールド)を「有効(true)」にしてください(Kubernetesのデフォルト設定)。

Podの割り当てノードの制御

設定しません(デフォルト)。

永続化ボリューム

設定しません(デフォルト)。

Podライフサイクル設定

設定しません(デフォルト)。

注※

V.R.Sは使用するHMP-PCTOのバージョンに合わせて読み替えてください。

コンテナごとの要件を次に示します。

表5‒28 Ext-ConsのDependency-Checkerコンテナの要件

項目

要件

コマンド

次に示すコマンド引数(args)を設定します。

  • 第1引数(リトライ回数)

    推奨値「30」

  • 第2引数(リトライ間隔秒数)

    推奨値「10」

  • 第3引数(接続タイムアウト秒数)

    推奨値「10」

  • 第4引数(応答タイムアウト秒数)

    推奨値「10」

  • 第5引数以降(ターゲットKubernetesオブジェクト群)

    <対象Kubernetesアプリケーション>

    Logstash、Jaeger-query、Jaeger-collector、Prometheus、Metricbeat、Filebeat

    例を次に示します。

    (例)

    my-namespace/deployments/logstash

    my-namespace/deployments/jaeger-query

    my-namespace/deployments/jaeger-collector

    my-namespace/deployments/prometheus

    my-namespace/deployments/metricbeat

    my-namespace/daemonsets/filebeat

(エントリポイントはDependency-Checkerコンテナイメージで「HMP-PCTOのデプロイ依存関係チェックスクリプト(dependency_check.sh)」を設定済みです)

ネットワーク設定

設定しません(デフォルト)。

コンフィグ設定

設定しません(デフォルト)。

コンテナセキュリティコンテキスト

設定しません(デフォルト)。

コンテナライフサイクル設定

設定しません(デフォルト)。

CPU/メモリリソース制限

設定しません(デフォルト)。

表5‒29 Ext-Consコンテナの要件

項目

要件

コマンド

設定しません(デフォルト)。

ネットワーク設定

Kubernetesクラスタ内で次のポートを公開してください(Serviceリソース)。

Ext-ConsのHTTPポート番号
  • プロトコル

    TCP

  • 公開ポート

    Ext-Consのserver.portパラメタに設定したポート番号

  • コンテナポート

    Ext-Consのserver.portパラメタに設定したポート番号

コンフィグ設定

次のHMP-PCTOのパラメタを、Spring Bootのコンフィグソース(application.properties、application.yml、環境変数など)に設定してください。

次のとおりファイルを配置します。

  • ファイル:Spring Bootのコンフィグソース

    キー名:application.properties

    マウント先:/deployments/config/application.properties

環境変数TZでタイムゾーンを設定します。ユーザ責務のコンテナと同じタイムゾーンに設定することを推奨します。デフォルト値は日本標準時(Asia/Tokyo、UTC+09:00)です。

Helmチャートのtimezoneパラメタで、Ext-Consコンテナのタイムゾーンを指定します。

Helmチャートのjava.optionsパラメタでExt-ConsのJavaプロセス起動時にJava VMに渡すオプションを指定してください。

コンテナセキュリティコンテキスト

設定しません(デフォルト)。

コンテナライフサイクル設定

設定しません(デフォルト)。

CPU/メモリリソース制限

設定しません(デフォルト)。

Helmチャートのディレクトリ/ファイル構成を次の表に示します。

表5‒30 Ext-ConsのHelmチャートのディレクトリ/ファイル構成

ディレクトリ/ファイル

説明

templates/

Helmチャートのtemplate配置用ディレクトリ

includes/

HelmチャートのConfigMapオブジェクトの設定内容外部化ファイル配置用ディレクトリ

application.properties.tpl

ConfigMapオブジェクトの設定内容外部化ファイル

config-map-data.yaml

ConfigMapオブジェクトの設定内容外部化ファイル

config-map.yaml

ConfigMapオブジェクトのマニフェスト

deployment.yaml

Deploymentオブジェクトのマニフェスト

service.yaml

Serviceオブジェクトのマニフェスト

serviceaccount.yaml

ServiceAccountオブジェクトのマニフェスト

Chart.yaml

Chart.yaml

values.yaml

values.yaml

values.schema.json

values.yamlの設定値のバリデーション用ファイル