Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

ジュニパークラウドネイティブルーターのインストール

概要 ジュニパークラウドネイティブルーター(クラウドネイティブルーター)は、JCNR-Controller(cRPDベースの制御プレーン)と JCNR-CNIを使用して、コントロールプレーン機能とコンテナネットワークインターフェイスを提供します。ジュニパークラウドネイティブルーターは、DPDK対応のvRouterを使用して、ハイパフォーマンスなデータプレーン機能とSyslog-NGを提供し、通知機能を提供します。このセクションでは、クラウドネイティブルーターのこれらのコンポーネントをインストールする方法について説明します。

JCNR-Controller(cRPD)は、クラウドネイティブルーターにコントロールプレーン機能を提供する初期化コンテナです。制御プレーンは、ジュニパークラウドネイティブルーターで使用されるワークロードインターフェイスとファブリックインターフェイスのプロビジョニングを担当します。また、gRPC 接続を介して vRouter エージェントおよび vRouter 自体との通信も管理します。

JCNR-CNIは、Juniper Cloud-Nativeルーターが、インストール内のサーバーおよびポッドおよびコンテナネットワークインターフェイス上の物理インターフェイスとの通信に使用するコンテナネットワークインターフェイスです。

ジュニパークラウドネイティブルーター仮想ルーター(vRouter)は、高度な転送プレーン機能を提供するコンテナアプリケーションセットです。ネットワークを物理ルーターやスイッチから、仮想サーバーでホストされる仮想オーバーレイ ネットワークに拡張します。データ プレーン開発キット(DPDK)により、vRouter は、vRouter がカーネル モジュールとして実行される場合よりも多くのパケットを 1 秒あたりに処理できます。

Syslog-NGは、ジュニパークラウドネイティブルーターが、クラウドネイティブルーターの導入で発生するイベントに関する通知をユーザーに提供できるようにするコンテナアプリケーションです。

Helm Chartを使用したジュニパークラウドネイティブルーターのインストール

このセクションでは、クラウドネイティブルーターイメージコンポーネントをDockerにロードし、Helmチャートを使用してクラウドネイティブルーターコンポーネントをインストールするために必要な手順について説明します。

メモ:

このガイドのインストール セクションでは、通常、ファイル名とディレクトリ名を参照する際にバージョン情報を指定しません。ファイル名またはディレクトリ名にバージョン番号を指定する場合、現在の(最新)リリースを参照しています。

メモ:

Kubernetes cpumanagerがKubernetesクラスタで有効になっている場合、ジュニパークラウドネイティブルーターバージョン22.4の導入は推奨されません。

システム リソース要件で説明したように、Juniper Cloud-Native Router コンポーネントをインストールする前に、Kubernetes の Helm パッケージ マネージャーをインストールする必要があります。

メモ:

パッケージをダウンロードしてソフトウェアをインストールする必要がある特定のパスは提供していません。そのため、本書全体に示されているコマンドをコピーして、サーバーの CLI に貼り付けることができます。

ジュニパークラウドネイティブルーターのインストールの概要は次のとおりです。

  1. ソフトウェアインストールパッケージをダウンロードする(タールボール)
  2. タールボールを拡張する

  3. ディレクトリをrelease番号Juniper_Cloud_Native_Router_<変更します>

  4. イメージ ファイルを Docker に読み込む

  5. ホストサーバーとジュニパークラウドネイティブルーターのrootパスワードを入力します

  6. Kubernetes システムにシークレット/jcnr-secrets.yaml を適用する

    メモ:

    L2 導入の場合:以下のステップ 7 を実行し、ステップ 8 をスキップします。

    L3 導入の場合:ステップ 7 を省略し、ステップ 8 を実行します。

    ステップ 7 またはステップ 8 のうち 1 つだけを実行します。

  7. インストールのニーズに合わせて values.yaml ファイルを編集します
  8. values_L3.yaml を編集する

  9. ジュニパークラウドネイティブルーターのインストール

上記の各大まかな手順は次のとおりです。

  1. tarball(Juniper_Cloud_Native_Router_<release-number>.tgz)を、ご希望のディレクトリにダウンロードしてください。
    サーバー上の書き込み可能なディレクトリにタールボールを入れる方法はあなた次第です。圧縮 tar ファイルが正しく展開されるように、ファイル転送をバイナリ モードで実行する必要があります。
  2. ファイルJuniper_Cloud_Native_Router_<release-number>.tgzを展開します。
  3. ディレクトリをJuniper_Cloud_Native_Router_<バージョン番号に変更します>
    メモ:

    インストール済み環境の残りのステップはすべて、現在の作業ディレクトリーが Juniper_Cloud_Native_Router_22.4 であることを前提としています。

  4. 前のステップで tarball を拡張した場所と相対的に、Juniper_Cloud_Native_Router_22.4/images ディレクトリにある jcnr-images.tar.gz というファイルからイメージ ファイルを docker に読み込みます。
  5. ホスト サーバーと Juniper Cloud-Native Router ライセンス ファイルの root パスワードを secrets/jcnr-secrets.yaml ファイルに入力します。
    base64エンコード形式でパスワードとライセンスを入力する必要があります。
    パスワードをエンコードするには、単一行のプレーンテキストパスワードのみを持つファイルを作成します。その後、 コマンドを発行します。
    出力は、次のようなランダムに見えるテキストの 1 行です。
    UGFzc3cwcmQhCg==
    ライセンス ファイルをエンコードするには、ファイルをホスト サーバーにコピーし、 コマンドを発行します
    出力は、次のようなランダムに見えるテキストの長い 1 行です。
    VGhpcyBpcyBhIHJlYWxseSBtdWNoIGxvbmdlciB0ZXh0IGZpbGUgdGhhdCBpbmNsdWRlcyBsaWNlbnNlIGluZm9ybWF0aW9uCkFTREZERktERktIQUxHS0hiYW9qa2hkZmFzZGZOS0FTREdOR0FKYWRzZmxodmFibmRzZmdramh2Ym5ramFzZnVxYmF1amgyMDEwdGIydDQweGtqYjR3eTB1dmRxd3J2MGl3aGV0Ymd1YnMwcWRqZmhkc2tqdmJkc2ZramhkdmFkZnNiO2d2a2pzZGI7aWRzamc7ZmFzZGhma2pkc2J2YWlzdWRmZ3dFWUlUR1ZCMzlWRVlCVjM0OVVHQlZHQlFVOUFXR1ZJQkVSV0c5VUJWV0U5Rwo=
    メモ:

    アカウント チームからライセンス ファイルを取得し、上記の指示に従って secrets.yaml ファイルにインストールする必要があります。 secrets.yaml ファイルに base64 エンコードされたライセンス ファイルと root パスワードが適切ではない場合、cRPD ポッドは実行中の状態になりませんが、CrashLoopBackOff 状態のままです。

    base64 出力をコピーして、適切な場所にある secrets/jcnr-secrets.yaml ファイルに貼り付ける必要があります。
  6. Kubernetes システムにシークレット/jcnr-secrets.yaml を適用する
    メモ:

    L2 導入の場合:以下のステップ 7 を実行し、ステップ 8 をスキップします。

    L3 導入の場合:以下のステップ 7 を省略し、ステップ 8 を実行します。

    両方ではなく、ステップ7またはステップ8のうち1つだけを実行します。

  7. L2 導入の場合は、helmchart/values.yaml ファイルを編集します。

    L2 モードでの Juniper Cloud-Native Router インストールの Helm チャートをカスタマイズする必要があります。

    • ファブリックインターフェイスの選択 - ホストシステムのインターフェイス名を使用する

    • トランク インターフェイスの VLAN ID リストを作成する - ネットワークに適合する VLAN ID を使用します。

    • ファブリックワークロードインターフェイスの選択 - ホストシステムからインターフェイス名を使用する

    • ワークロード インターフェイス上のトラフィックの VLAN ID を設定します。

    • JCNR-vRouter ロギングの重大度レベルを設定する

      メモ:

      JTAC から変更を指示されない限り、log_levelを INFO に設定したままにします。

    • モード オプションが「l2」に設定されていることを確認します。

    • cpu コア マスクと物理コア、論理コアを設定します。

    • ファブリックインターフェイスの選択 - ホストシステムのインターフェイス名を使用する

    • ワークロードインターフェイスの選択 - ホストシステムのインターフェイス名を使用する

    • (オプション)ストーム制御プロファイルを割り当てることで、ブロードキャスト、マルチキャスト、不明なユニキャスト トラフィックのレート制限を 1 秒あたりのバイト単位で設定します。

    • (オプション)コア・パターンを設定して、コア・ファイルに対して生成される名前を決定します。空白のままにすると、クラウドネイティブルーターポッドは既存のコアパターンを上書きしません。

    • (Intel 810 NIC のみ)true または false を設定して NIC で QoS を有効にする(デフォルトは false)

    • 通知を保存する syslog-ng の書き込み可能なディレクトリの場所を設定する

    • (オプション)bondインターフェイスを としてfabricInterface:指定した場合、 セクションの下でシステムから名前をbondInterfaceConfigs:指定slaveInterfaceします。

    • デフォルト restoreInterface では false に設定されています。この設定により、vrouterポッドがクラッシュまたは削除された場合、インターフェイスはホストに復元されません。

    メモ:

    Intel XL710 NICを使用している場合は、ddp=false

    values.yaml ファイルです。

    デフォルトの helmchart/values.yaml ファイルのコメント付き例については、「 サンプル構成ファイル」を参照してください。

  8. L3 導入では、helmchart/values_L3.yaml ファイルを編集します。

    L3 モードでの Juniper Cloud-Native Router インストールの Helm チャートをカスタマイズする必要があります。

    • で設定したインターフェイスにIPアドレスを割り当てます。 values_L3.yaml

    • JCNR-vRouter ロギングの重大度レベルを設定する

      メモ:

      JTAC から変更を指示されない限り、log_levelを INFO に設定したままにします。

    • モード オプションが「l3」に設定されていることを確認します。

    • cpu コア マスクと物理コア、論理コアを設定します。

    • (オプション)コア・パターンを設定して、コア・ファイルに対して生成される名前を決定します。空白のままにすると、クラウドネイティブルーターポッドは既存のコアパターンを上書きしません。

    • 通知を保存する syslog-ng の書き込み可能なディレクトリの場所を設定する

    デフォルトの helmcharts/values_L3.yaml ファイルのコメント付き例については、「 サンプル構成ファイル」を参照してください。

  9. Helmを使用したジュニパークラウドネイティブルーターの導入
    メモ:

    ジュニパークラウドネイティブルーターリリース22.4以降では、クラウドネイティブルーターを values.yaml 展開する際に または values_L3.yaml ファイルのいずれかを指定する必要があります。下の例に示すように、 helm install コマンドで YAML ファイルを指定します。

    L2 インストールの場合は、 コマンドを発行します。
    L3 インストールの場合は、 コマンドを発行します。
  10. ジュニパークラウドネイティブルーターの導入を確認する

コンテナの動作検証

概要 このタスクにより、ジュニパークラウドネイティブルーターポッドが実行されていることを確認できます。
  1. kubectl get pods -A
    コマンドの kubectl 出力には、すべての名前空間にあるKubernetesクラスタ内のすべてのポッドが表示されます。導入が成功すると、すべてのポッドで実行中の状態が表示されます。この例では、ジュニパークラウドネイティブルーターポッドを 太字でマークしています。例えば:
  2. kubectl get ds -A
    kubectl get ds -A コマンドを使用して、デーモンセットコンテナのリストを取得します。