Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

ヘルスチェック

概要 Cloud-Native Contrail Networking(CN2)リリース22.3では、仮想マシンインターフェイス(VMI)をポッドの作成および更新ワークフローに関連付ける新しいヘルスチェックカスタムリソースオブジェクトが導入されました。正常性チェック リソースは、名前空間スコープのリソースです。

ヘルスチェックの概要

ヘルスチェック機能は、Contrail vRouter エージェントによって提供されます。ping または HTTP ヘルスチェックをインターフェイスに関連付けることができます。ヘルスチェックが失敗した場合、ヘルスチェックオブジェクトで設定されたタイマーと間隔に基づいて、インターフェイスは管理上ダウンとして設定され、関連するルートは取り消されます。ヘルスチェックトラフィックは、インターフェイスを回復できるように、管理上ダウン状態で送信され続けます。

ヘルスチェックオブジェクトの作成

ヘルスチェックオブジェクトを作成するには、この手順を使用します。

  1. Contrail Networkingダウンロードページの配置マニフェストで、ヘルスチェックオブジェクトのYML定義のファイル(以下を参照)を使用しますhc.yaml。同じフォルダーにはhc_pod.yaml、ポッド定義を使用してヘルスチェックオブジェクトをVMIに関連付けるためのYML定義を持つ も含まれています。

    サンプル hc.yaml ファイル:

  2. パラメーターを完了して、ヘルスチェックを定義します。 表 1 に、パラメーターの一覧と説明を示します。
    表 1: ヘルスチェックの設定可能なパラメータ
    フィールド の説明
    Delay ヘルスチェックを繰り返すまでの遅延(秒単位)。
    DelayUsecs ヘルスチェックが繰り返されるマイクロ秒単位の時間。
    Enabled ヘルスチェックが有効であることを示します。デフォルト Falseは です。
    ExpectedCodes モニター・プロトコルが HTTP の場合、HTTP 操作の予期される戻りコード。200 から 299 の範囲でなければなりません。
    HealthCheckType ヘルスチェックタイプを示します: link-local, end-to-end, segment, vn-ip-list, および end2end。デフォルト link-localは です。

    および end-to-end どちらのモードでもlink-local、VMI が実行されている vRouter 上のポッドの正常性チェックが実行されます。

    HttpMethod モニター・プロトコルが HTTP の場合、使用される HTTP メソッドのタイプは GET です。
    MaxRetries インスタンスの正常性ダウンを宣言する前に試行する再試行回数。
    MonitorType 使用するプロトコルの種類:PING、BFD、またはTCP。
    Timeout 応答を待機する秒数。
    TimeoutUsecs 応答を待つ時間 (マイクロ秒単位)。
    UrlPath 有効な URL を指定する必要があります。たとえば、IP アドレスは、 http://172.16.0.1/<path>ポッド リンクローカル IP アドレスまたはメタデータ IP アドレスに置き換えられるプレースホルダーにすることができます。

    以下は、ヘルスチェックリソースの抽象的なGolangスキーマです。

    GolangスキーマのYML表現は次のとおりです。

  3. ポッド注釈参照値core.juniper.net/health-checkを使用して、ヘルスチェックオブジェクトをVMIにリンクします。デフォルトの動作では、ヘルスチェックがプライマリインターフェイスに関連付けられます。
  4. (オプション)ヘルスチェックを (異なるNADまたはVNに接続されている)複数のインターフェイスにリンクするには、セクション内の cni-args ヘルスチェックオブジェクトを参照できます。以下は、アノテーションで設定 cni-args する例です。

    既存の VMI オブジェクトには、オブジェクトを参照する HealthCheck 新しいフィールドがあります。

    PING または HTTP モニタリングベースのヘルスチェックの最小間隔は 1secondです。重要なアプリケーションに対して秒単位以下のレベルのヘルスチェックが必要な場合はBFDベースの監視タイプを選択できます。

ヘルスチェックプロセス

Contrail vRouter エージェントは、ヘルスチェックサービスの提供を担当します。エージェントは、同じコンピューティングノードでホストされているサービスのステータスを監視するヘルスチェックプローブプロセスを生成し、そのステータスを vRouter エージェントに更新します。

vRouter エージェントは、スクリプトによって提供されるステータスに基づいて、エクスポートされたインターフェイスルートを撤回または復元します。また、エージェントは、スクリプトが適切なNAT変換を使用してアンダーレイネットワークから宛先IPアドレスと通信できるように、リンクローカルメタデータIPアドレスを提供する役割も担います。実行中のシステムでは、この情報は vRouter エージェントのイントロスペクトに表示されます。