第3章 greenboot ワークロードヘルスチェックスクリプト
Greenboot ヘルスチェックスクリプトは、エッジデバイスを使用していて、直接サービスを利用できないか、限りがある場合に役立ちます。microshift-greenboot
RPM パッケージをインストールした場合は、ワークロードとアプリケーションの正常性を評価するヘルスチェックスクリプトを作成することもできます。これらの追加のヘルスチェックスクリプトは、ソフトウェアの問題チェックと自動システムロールバックの有用なコンポーネントです。
Red Hat build of MicroShift ヘルスチェックスクリプトは、microshift-greenboot
RPM に含まれています。実行中のワークロードに基づいて、独自のヘルスチェックスクリプトを作成することもできます。たとえば、サービスの起動を確認するスクリプトを作成するなどが可能です。
3.1. ワークロードヘルスチェックスクリプトの仕組み
本チュートリアルで説明されているワークロードまたはアプリケーションのヘルスチェックスクリプトは、/usr/share/microshift/functions/greenboot.sh
ファイルで利用可能な Red Hat build of MicroShift ヘルスチェック機能を使用します。これにより、Red Hat build of MicroShift コアサービスにすでに実装されている手順を再利用できます。
このスクリプトは、ワークロードの基本機能が期待どおりに動作しているかどうかのチェックを実行することから始まります。スクリプトを正常に実行するには、以下を実行します。
- root ユーザーアカウントからスクリプトを実行します。
- Red Hat build of MicroShift サービスの有効化
ヘルスチェックは以下のアクションを実行します。
-
wait_for
関数における現在のブートサイクルの待機時間でのタイムアウトを取得します。 -
namespace_images_downloaded
関数を呼び出して、Pod イメージが利用可能になるまで待機します。 -
namespace_pods_ready
関数を呼び出して、Pod が準備状態になるまで待機します。 -
namespace_pods_not_restarting
関数を呼び出して、Pod が再起動していないことを確認します。
Pod を再起動すると、クラッシュループを示している可能性があります。