Hitachi

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


6.4.9 Filebeatの要件

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

表6‒36 Filebeatの要件

項目

要件

ワークロードリソース

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

ネームスペース

任意の名称を指定できます。ただし、「6.4.9 Filebeatの要件」〜「6.4.15 Logstashの要件」では同一のネームスペースを指定してください。

ラベル

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

    値:<リリース名>

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

    値:Helm

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

    値:filebeat

    備考:チャート名

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

    値:V.R.S※1

    備考:バージョン

  • キー名:helm.sh/chart

    値:filebeat-V.R.S※2

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

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

    値:<リリース名>

    備考:

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

    値:filebeat

    備考:チャート名

アノテーション

規定しません。

初期化コンテナ構成

Dependency-Checkerコンテナ(「5.3.9 Dependency-Checkerコンテナイメージ」を参照してください)

コンテナ構成

  • Filebeatコンテナ

レプリカ数

規定しません(DaemonSetのため)。

再起動ポリシー

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

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

ローリングアップデートとしてください(Kubernetesのデフォルト設定)。

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

規定しません。

アクセス制御

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

<デプロイ依存関係チェック機能用ロール>

  • APIグループ

    空(コアグループ)、apps

  • リソース

    pods、replicasets、deployments、statefulsets、daemonsets

  • アクセス許可

    get、list

上記アクセス許可を定義するためのKubernetesリソースはRoleリソース、RoleBindingリソース、ServiceAccountリソースを使用してください。

<コンテナログ収集用ロール>

  • APIグループ

    空(コアグループ)

  • リソース

    pods、nodes、namespaces

  • アクセス許可

    get、watch、list

上記アクセス許可を定義するためのKubernetesリソースはClusterRoleリソース、ClusterRoleBindingリソース、ServiceAccountリソースを使用してください。

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

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

HMP-PCTOのPodが割り当てられるKubernetesノードすべてに必ず割り当ててください。

永続化ボリューム

規定しません。

Podライフサイクル設定

terminationGracePeriodSecondsを次のとおり設定してください。

  • 安全な停止待機秒数(terminationGracePeriodSeconds)

    推奨値「30」

注※1

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

注※2

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

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

表6‒37 FilebeatのDependency-Checkerコンテナの要件

項目

要件

コマンド

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

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

    推奨値「30」

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

    推奨値「10」

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

    推奨値「10」

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

    推奨値「10」

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

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

    Elasticsearch

    例を次に示します。

    (例)

    my-namespace/statefulsets/elasticsearch-master

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

ネットワーク設定

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

コンフィグ設定

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

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

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

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

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

CPU/メモリリソース制限

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

表6‒38 Filebeatコンテナの要件

項目

要件

コマンド

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

  • 第1引数

    「-e」

    標準エラー出力にログを記録します。syslog/fileへのログ出力を無効化します。

  • 第2引数

    「-E」

    このパラメタ以降に記載された設定を反映した状態で起動します。

  • 第3引数(http.enabled)

    「true」

    HTTPエンドポイントを有効にします。死活監視のために設定を有効化します。

ネットワーク設定

規定しません。

コンフィグ設定

規定しません。

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

次のとおり設定します。

  • 実行ユーザ:0

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

Liveness Probeを次のとおり設定してください。
  • 初回Probe実行待機秒数(initialDelaySeconds)

    推奨値「10」

  • Probe実行間隔秒数(periodSeconds)

    推奨値「10」

  • Probe最大失敗回数(failureThreshold)

    推奨値「3」

  • Probeタイムアウト秒数(timeoutSeconds)

    推奨値「5」

  • Probe失敗後の成功判定最小回数(successThreshold)

    推奨値「1」

Readiness Probeを次のとおり設定してください。
  • 初回Probe実行待機秒数(initialDelaySeconds)

    推奨値「10」

  • Probe実行間隔秒数(periodSeconds)

    推奨値「10」

  • Probe最大失敗回数(failureThreshold)

    推奨値「3」

  • Probeタイムアウト秒数(timeoutSeconds)

    推奨値「5」

  • Probe失敗後の成功判定最小回数(successThreshold)

    推奨値「1」

CPU/メモリリソース制限

実稼働を通して、環境に合わせた設定を実施してください。

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

表6‒39 FilebeatのHelmチャートのディレクトリ/ファイル構成

ディレクトリ/ファイル

説明

templates/

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

configmap-config.yaml

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

daemonset.yaml

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

serviceaccount.yaml

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

Chart.yaml

Chart.yaml

values.yaml

values.yaml

values.schema.json

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