Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

vRouterインターフェイスヘルスチェック

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

vRouterインターフェイスヘルスチェックの概要

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

ヘルスチェック オブジェクトを作成する

メモ:

VMIヘルスチェックに関連するこれらの2つの属性(targetIpList および targetIpAll)は、CN2リリース22.3ではサポートされていません。これらの 2 つの属性は、将来のリリースでサポートされる予定です。

ヘルスチェック オブジェクトを作成するには、

  1. Contrail Networking のダウンロード ページのデプロイ マニフェストで、ヘルスチェック オブジェクトの hc.yaml YAML 定義に対して(以下に示す)ファイルを使用します。同じフォルダーには、ポッド定義によってヘルスチェック オブジェクトを VMI に関連付ける YAML 定義がある 、 も含hc_pod.yamlまれています。

    サンプル 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

    どちらのモードでもlink-localend-to-end、VMIが実行されているvRouter上のポッドに対してヘルスチェックが実行されます。

    HttpMethod モニター・プロトコルが HTTP の場合、使用される HTTP メソッドのタイプは GET です。
    MaxRetries ヘルスダウンインスタンスを宣言する前に試行する再試行回数。
    MonitorType 使用するプロトコルタイプは、PING、BFD、またはTCPです。
    targetIpList
    メモ:

    属性は設定可能ですが、CN2リリース22.3ではサポートされていません。この属性は、将来のリリースでサポートされます。

    targetIpAll
    メモ:

    属性は設定可能ですが、CN2リリース22.3ではサポートされていません。この属性は、将来のリリースでサポートされます。

    Timeout 応答を待つ秒数。
    TimeoutUsecs 応答を待つ時間(マイクロ秒)。
    UrlPath など http://172.16.0.1/<path>、有効な URL である必要があります。IPアドレスは、ポッドのリンクローカルIPアドレスまたはメタデータIPアドレスに置き換えられるプレースホルダです。

    正常性チェック リソースの抽象的な Golang スキーマを次に示します。

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

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

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

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

ヘルスチェックプロセス

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

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