Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
このページの内容
 

クラウドネイティブルーターの使用例と構成の概要

この章では、コンテナネットワークインターフェイス(CNI)モードで導入した場合のさまざまなジュニパークラウドネイティブルーターの使用例を確認します。

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

設定例

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

virtual-ルーター—VPN関連以外のアプリケーション向け

vrf—レイヤー3 VPN実装

virtual-switch—レイヤー2実装

インターフェイスタイプ 「veth」または「virtio」のいずれか
vlanId 有効なVLAN ID「1-4095」
bridgeVlanId 有効なVLAN ID「1-4095」
vlanIdリスト コマンドで区切られたvlan-idのリスト(例:「1、5、7、10-20」)。
親インターフェイス ポッドに表示されるはずの有効なインターフェイス名。子/サブインターフェイスのプレフィックスとしてparentInterfaceの後に「」が付きます。parentInterface を指定する場合は、sub interface を明示的に指定する必要があります。
vrfターゲット vrf ルーティング インスタンスのルートターゲット
ブリッジドメイン 仮想スイッチインスタンスで接続する必要があるポッドインターフェイスのブリッジドメイン。
タイプ(IPAM) 静的—すべてのポッドに同じ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にプッシュします。

トラブルシューティング

Pods mainはさまざまな理由で起動しません。

  • イメージが見つかりません

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

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

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

  • NADが無効または未定義です

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