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クラスタで有効になっている場合、ジュニパークラウドネイティブルーターバージョン23.1の導入は推奨されません。

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

メモ:

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

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

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

  2. タールボールを拡張する

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

  4. ディレクトリの内容を表示する

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

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

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

    メモ:

    ジュニパークラウドネイティブルーターは、L2またはL3モードのいずれかで導入できます。L2 モードか L3 モードかに応じて、ステップ 8 またはステップ 9 のいずれかを実行します。

  8. L2 モードのインストールのニーズに合わせて値.yaml を編集します。
  9. L3 モードでインストールのニーズに合わせて、values_L3.yaml を編集します。

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

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

  1. tarball Juniper_Cloud_Native_Router_<release-number>.tgz を、ご希望のディレクトリにダウンロードしてください。

    ファイルをサーバーに転送する場合は、圧縮 tar ファイルが正しく展開されるように、バイナリ モードでファイル転送を実行する必要があります。

  2. ファイルJuniper_Cloud_Native_Router_<release-number>.tgzを展開します。
  3. ディレクトリをJuniper_Cloud_Native_Router_<release-number>に変更します。
    メモ:

    インストール済み環境の残りのステップはすべて、現在の作業ディレクトリーが Juniper_Cloud_Native_Router_<release-number>されていることを前提としています。

  4. 現在のディレクトリの内容を表示します。
  5. JCNR docker イメージをローカル・ドッカーに読み込みます。イメージは、 Juniper_Cloud_Native_Router_<release-number>/images ディレクトリーで使用可能です。
  6. ホスト サーバーと Juniper Cloud-Native Router ライセンス ファイルの root パスワードを secrets/jcnr-secrets.yaml ファイルに入力します。

    jcnr-secrets.yaml ファイルのコンテンツの例を以下に示します。

    base64エンコード形式でパスワードとライセンスを入力する必要があります。

    パスワードをエンコードするには、単一行のプレーンテキストパスワードのみを持つファイルを作成します。その後、 コマンドを発行します。

    出力は、次のようなランダムに見えるテキストの 1 行です。

    UGFzc3cwcmQhCg==

    ライセンス ファイルをエンコードするには、ファイルをホスト サーバーにコピーし、 コマンドを発行します。

    出力は、次のようなランダムに見えるテキストの長い 1 行です。

    VGhpcyBpcyBhIHJlYWxseSBtdWNoIGxvbmdlciB0ZXh0IGZpbGUgdGhhdCBpbmNsdWRlcyBsaWNlbnNlIGluZm9ybWF0aW9uCkFTREZERktERktIQUxHS0hiYW9qa2hkZmFzZGZOS0FTREdOR0FKYWRzZmxodmFibmRzZmdramh2Ym5ramFzZnVxYmF1amgyMDEwdGIydDQweGtqYjR3eTB1dmRxd3J2MGl3aGV0Ymd1YnMwcWRqZmhkc2tqdmJkc2ZramhkdmFkZnNiO2d2a2pzZGI7aWRzamc7ZmFzZGhma2pkc2J2YWlzdWRmZ3dFWUlUR1ZCMzlWRVlCVjM0OVVHQlZHQlFVOUFXR1ZJQkVSV0c5VUJWV0U5Rwo=
    メモ:

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

    base64 出力をコピーして、適切な場所にある secrets/jcnr-secrets.yaml ファイルに貼り付ける必要があります。

  7. シークレット/jcnr-secrets.yaml を Kubernetes システムに適用します。
    メモ:

    ジュニパークラウドネイティブルーターは、L2またはL3モードのいずれかで導入できます。L2 モードか L3 モードかに応じて、ステップ 8 またはステップ 9 のいずれかを実行します。

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

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

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

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

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

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

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

      メモ:

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

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

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

    • (オプション) noLocalSwitching を 有効にする:キーと VLAN ID を値として指定し、トランク インターフェイスで no-local-switching:true に設定します。

    • (オプション)タグなしデータ パケットを受け入れる VLAN インターフェイス ID に native-vlan-id: キーを設定します。

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

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

    • (オプション)ストーム制御プロファイルを割り当てることで、ブロードキャスト、マルチキャスト、不明なユニキャスト トラフィックのレート制限を 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 ファイルのコメント付き例については、「 サンプル構成ファイル」を参照してください。

  9. 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 ファイルのコメント付き例については、「 設定ファイルのサンプル」を参照してください。

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

    サンプル出力:

    L3 インストールの場合は、 コマンドを発行します。

    サンプル出力:

  11. ジュニパークラウドネイティブルーターの導入を確認します。

    サンプル出力:

コンテナの動作検証

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