Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

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

概要 ジュニパークラウドネイティブルーター(JCNR)は、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チャートを使用してクラウドネイティブルーターコンポーネントをインストールするために必要な手順について説明します。

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

メモ:

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

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

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

  3. ディレクトリを Juniper_Cloud_Native_Router_22.2 に変更する

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

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

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

  7. インストールのニーズに合わせて values.yaml ファイルを編集します
  8. ジュニパークラウドネイティブルーターのインストール

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

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

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

  4. イメージ ファイル、jcnr-cni-images.tar.gzjcnr-vrouter-images.tar.gzsyslog-ng-images.tar.gz を docker に読み込みます。イメージ ファイルは、前のステップでタールボールを展開した場所と相対的に、Juniper_Cloud_Native_Router_22.2/images ディレクトリにあります。
  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. K8s システムにシークレット/jcnr-secrets.yaml を適用する
  7. helm_charts/jcnr/values.yaml ファイルを編集します。

    Juniper Cloud-Native Router をインストールするには、Helm チャートをカスタマイズする必要があります。

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

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

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

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

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

      メモ:

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

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

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

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

    • ブロードキャストおよびマルチキャスト トラフィックのレート制限をバイト/秒で設定する

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

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

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

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

  8. Helmを使用したジュニパークラウドネイティブルーターの導入
  9. ジュニパークラウドネイティブルーターの導入を確認する

コンテナの動作検証

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