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