Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
このページの目次
 

JCNR の使用例と構成の概要

概要 この章では、コンテナネットワークインターフェイス(CNI)モードで展開した場合の、Juniper Cloud-Native Routerのさまざまなユースケースの構成例について説明します。

Juniper Cloud-Native Routerは、純粋なコンテナネットワーク機能(CNF)またはコンテナネットワークインターフェイス(CNI)として、仮想スイッチまたはトランジットルーターとして導入できます。CNFモードでは、ノード上でアプリケーションポッドは実行されず、ルーターはネットワーク上のさまざまなインターフェイスを介してパケットスイッチングまたは転送のみを実行します。CNIモードでは、veth-pairやDPDK vhost-userベースのインターフェイスなどのソフトウェアベースのネットワークインターフェイスを使用するアプリケーションポッドが、クラウドネイティブルーターにアタッチされます。この章では、さまざまなワークロードインターフェイスタイプをクラウドネイティブルーターCNIインスタンスにアタッチするための設定例を示します。

設定例

JCNR CNIは、MultusとともにプライマリCNIとしてセカンダリCNIとして導入され、アプリケーションポッド用に異なるタイプのセカンダリインターフェイスを作成します。Multus は、ネットワーク接続定義 (NAD) ファイルを使用して、アプリケーション ポッドのセカンダリ インターフェイスを構成します。NAD は、セカンダリ インターフェイス、IP アドレス割り当て、ネットワーク インスタンスなどの作成方法を指定します。ポッドは 1 つ以上の NAD を持つことができ、通常はポッド インターフェイスごとに 1 つ含めることができます。ザ・ config: NAD ファイルの フィールドは、JCNR CNI 設定を定義します。NAD の一般的な形式を次に示します。 JCNR プラグイン タイプの NAD を設定する際、次のキーがサポートされます。
表 1: NAD でサポートされているキー
主な 説明
Instancename ルーティングインスタンス名
インスタンスタイプ 次のいずれかです。

仮想ルーター—VPN に関連しないアプリケーション向け

vrf - レイヤー 3 VPN 実装

仮想スイッチ - レイヤー 2 実装

インターフェイスタイプ "veth" または "virtio" のいずれか
vlanId 有効な VLAN ID「1-4095」
ブリッジVlanId 有効な VLAN ID「1-4095」
vlanIdList vlan-id で区切られたコマンドのリスト(例: "1, 5, 7, 10-20")
親インターフェイス ポッドに表示される有効なインターフェイス名。子/サブインターフェイスのプレフィックスには、親インターフェイスの後に "." が付きます。 parentInterface を指定する場合は、サブインターフェイスを明示的に指定する必要があります。
vrfターゲット vrf ルーティング インスタンスのルートターゲット
ブリッジドメイン 仮想スイッチ インスタンスでポッド インターフェイスを接続するブリッジ ドメイン。
タイプ (IPAM) static - すべてのポッドに同じ IP を割り当て、ポッドごとに一意の IP を割り当てます。インターフェイスごとにポッドごとに一意の NAD を定義します。

host-local - 同じホスト上のポッドインターフェイスごとに一意の IP アドレス。IP アドレスは、2 つの異なるノード間で一意ではありません

所在:すべてのノードにわたるポッドごとに一意のIPアドレス

(https://github.com/k8snetworkplumbingwg/whereabouts)

レイヤ 2 カーネル アクセス モード インターフェイスの NAD の例を考えてみましょう。 ポッドは、を使用してルーターインスタンスにアタッチします。 k8s.v1.cni.cncf.io/networks アノテーション。例えば: ボリューム マウント ホスト パスは、vhost-user ポートの UNIX ドメイン ソケットを DPDK アプリケーションに公開します。DPDK インターフェイスの詳細は、次の場所に格納されます。 /dpdk/dpdk-interfaces.json DPDKアプリケーションが使用するアプリケーションコンテナ内。また、ポッド注釈としてポッドにエクスポートされます。

クラウドネイティブルーターで使用するポッドを作成すると、 kubelet と呼ばれるKubernetesコンポーネントがMultus CNIを呼び出して、ポッドネットワークとインターフェイスを設定します。Multus は 、pod.yaml ファイルの注釈セクションを読み取り、対応する NAD を参照します。NAD が CNI プラグインとしてポイント jcnr している場合、Multus は JCNR-CNI を呼び出してポッド インターフェイスを設定します。JCNR-CNI は、NAD で指定されたインターフェイスを作成します。その後、JCNR-CNIは設定を生成し、cRPDにプッシュします。

トラブルシューティング

ポッドメインはさまざまな理由で起動しません。

  • 画像が見つかりません

  • CNI がインターフェイスを追加できませんでした

  • CNI が設定を cRPD にプッシュできませんでした

  • CNI が vRouter REST API を呼び出せませんでした

  • NAD が無効か、未定義です

次のコマンドは、ポッドの問題のトラブルシューティングに役立ちます。