Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Cloud-Native Routerのユースケースと構成の概要

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

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

設定例

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

virtual-router:非 VPN 関連アプリケーション向け

vrf—レイヤー 3 VPN 実装

virtual-switch—レイヤー 2 実装

interfaceType (インターフェイス タイプ) 「veth」または「virtio」のいずれか
vlanId(vlanId) 有効なVLAN ID「1-4095」
ブリッジVlanId 有効なVLAN ID「1-4095」
vlanIdList コマンド区切りのvlan-idのリスト(例:「1, 5, 7, 10-20」)
親インターフェイス ポッドに表示される有効なインターフェイス名。子/サブインターフェイスには、プレフィックスとして parentInterface の後に "." が付きます。 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 ファイルの annotations セクションを読み取り、対応する NAD を参照します。CNIプラグインとしてNADが jcnr を指している場合、MultusはJCNR-CNIを呼び出してポッドインターフェイスを設定します。JCNR-CNIは、NADで指定されているとおりにインターフェイスを作成します。次に、JCNR-CNIは設定を生成し、cRPDにプッシュします。

トラブルシューティング

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

  • 画像が見つかりません

  • CNIはインターフェイスの追加に失敗しました

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

  • CNIがvRouter REST APIを呼び出せなかった

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

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