1. 概要

1.1. はじめに

本書では、Exastro システムで利用可能なコンテナ運用管理ツールであるKubernetesについて説明します。

1.2. 特徴

Exastro システムは複数のコンテナにより機能しています。Kubernetesによる運用管理を行うことで、より高い可用性やサービスレベルのシステム構築が実現できます。

1.3. 可用性

1.3.1. 自動復旧

Exastro システムではコンテナを自動復旧させる手段として、Kubernetesのヘルスチェック機能であるProbeを利用します。
Probeを設定することにより、コンテナの状態がチェックされハングアップが発生した際に自動的に再起動が行われるようになります。
Probeは以下のフロントエンド系コンテナに対して設定されています。
  • platform-auth

  • platform-api

  • platform-web

  • ita-api-admin

  • ita-api-organization

  • ita-api-oase-receiver

  • ita-web-server

警告

ProbeはKubernetesの機能であるため、Kubernetesを用いたインストール をした場合のみ利用可能です。
ProbeはStartup Probe, Liveness Probe, Readiness Probeの3種類があります。
各コンテナは自身のヘルスチェック用のエンドポイントにHTTP GETリクエストを10秒毎に行います。
初回起動時はStartup Probeにより30回失敗した際にコンテナが再起動され、起動後はLiveness Probeにより3回失敗した際にコンテナが再起動されます。
表 1.1 Probeの種類

Probe

説明

Startup Probe

Startup Probeが成功するまで、Liveness ProbeとReadiness Probeによるチェックを無効にし、アプリケーションの起動に干渉しないようにします。

Liveness Probe

コンテナを再起動させるかどうかをチェックをします。

Readiness Probe

コンテナがトラフィックを受け入れらえる状態であるかどうかをチェックします。

表 1.2 Startup Probeの設定値

パラメータ

説明

設定値

httpGet.path

HTTP GETリクエストによるパスを指定。

(コンテナ毎のヘルスチェック用のパス)

httpGet.port

HTTP GETリクエストによるポートを指定。

port-http

timeoutSeconds

Probeのタイムアウトを指定(秒)。

30

periodSeconds

Probeの間隔を指定(秒)。

10

successThreshold

Probeが成功したと判断する最小回数を指定。

1

failureThreshold

Probeが失敗したと判断する最小回数を指定。

30

表 1.3 Liveness Probeの設定値

パラメータ

説明

設定値

httpGet.path

HTTP GETリクエストによるパスを指定。

(コンテナ毎のヘルスチェック用のパス)

httpGet.port

HTTP GETリクエストによるポートを指定。

port-http

timeoutSeconds

Probeのタイムアウトを指定(秒)。

30

periodSeconds

Probeの間隔を指定(秒)。

10

successThreshold

Probeが成功したと判断する最小回数を指定。

1

failureThreshold

Probeが失敗したと判断する最小回数を指定。

3

表 1.4 Readiness Probeの設定値

パラメータ

説明

設定値

httpGet.path

HTTP GETリクエストによるパスを指定。

(コンテナ毎のヘルスチェック用のパス)

httpGet.port

HTTP GETリクエストによるポートを指定。

port-http

timeoutSeconds

Probeのタイムアウトを指定(秒)。

30

periodSeconds

Probeの間隔を指定(秒)。

10

successThreshold

Probeが成功したと判断する最小回数を指定。

1

failureThreshold

Probeが失敗したと判断する最小回数を指定。

3