Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

ユーザーポッドの例 - カーネルアクセス

概要 

このトピックでは、クラウドネイティブルーターのインスタンスにカーネルアクセスインターフェイスを持つユーザーポッドを追加する方法を説明します。

概要

高レベルでは、ユーザーポッドをクラウドネイティブルーターに追加するプロセスでは、ネットワーク添付ファイル定義(NAD)が存在することを確認し、Pod YAMLファイルをクラウドネイティブルータークラスターに適用する必要があります。この例では、さまざまなオプションを持つ kubectl コマンドを使用しています。このコマンドは、ホスト サーバーの CLI で実行する必要があります。

高レベルの手順

この例では、これが新しくインストールされたクラウドネイティブルーターに追加する最初のユーザーポッドであると仮定しています。そのため、クラスターに新しい NAD を作成し、新しいユーザー ポッドを追加します。

以下に、この例で取る個々の手順の一覧を示します。リスト内の各ステップは、ステップの詳細な説明へのリンクです。

  1. vRouter インターフェイス リストを表示する

  2. NAD YAML ファイルの例を調べる

  3. NAD をクラスタに適用する

  4. NAD を検証する

  5. Pod YAMLファイルの例を調べる

  6. ポッドをクラスタに適用する

  7. ポッドの確認

  8. 最新のvRouterインターフェイスリストを表示する

始める前に

vRouter-Agent CLI へのアクセス

この例の手順の最初と最後のステップは、vRouter-agent の CLI で実行されます。ホストサーバーに対して、2つのSSH(端末)セッションを開くようお勧めします。1 つのセッションを使用して、vRouter-agent で CLI コマンドを実行し、もう一方のセッションで、NAD および Pod をクラスターにデプロイする kubectl コマンドを実行できます。

メモ:

コマンドをここからシステムに簡単にコピーして貼り付けできるように、コマンド・リストにホスト・サーバーからのパスやシェル・プロンプトは含まれません。

まず、 Contrail-vrouter-masters Podの contrail-vrouter-agent コンテナのCLIにアクセスします。

1つの端末で コマンドを入力します。

出力は、次のような 1 行にする必要があります。

このコマンドは、vRouter Pod contrail-vrouter-masters-97v8zの名前と特定のインスタンスハッシュを与えました。次のコマンドでこの名前を使用して、vRouter CLIにアクセスします。vRouter Podの名前は、最後に異なるハッシュを持ちます。下のコマンドの代わりに、システムの <contrail-vrouter-masters-hash> ポッド名を使用します。

コマンドを入力します。

出力は、次の 2 行で指定する必要があります。

シェル プロンプトは、コマンドを入力したときに変更する必要があることにも注意してください。この例の作成に使用されるシステムで、プロンプトが から [root@jcnr1 ~]#root@jcnr1:/#変更されました。このプロンプトの変更は、vRouter-agentのCLIに正常に接続されたことを示しています。

詳細な手順セクションに移動して、この例を完成させることができます。

詳細な手順

  1. vRouter-agentインターフェイスリストを表示する

    vRouter-agent CLIに接続された端末セッションで、 コマンドを入力します。

    出力は次のようになります。

    ご覧のように、vRouter-agentは3つのインターフェイスを認識しています。

    大まかな手順に戻る

  2. NAD YAML ファイルを調べる

    このステップでは、コメントされた NAD ファイルを YAML 形式で見てみましょう。コメントはハッシュ記号 (#) で始まり、太字でハイライトされています。このファイルは NAD の一例であるため、ほとんどの値を変更する必要はありません。NADは、ポッドがネットワークに接続できるようにする仮想デバイスのパラメーターを定義します。クラウドネイティブ ルーターでこのサンプル ファイルを使用できるのは、そのファイルからコメントを削除した場合のみです。

    cat nad-kernel_access_bd3001.yaml

    NAD YAML ファイルをクラスタに適用すると、仮想デバイスが K8s クラスタに表示されるようになります。

    大まかな手順に戻る

  3. クラスターへの NAD の適用

    バージョンの NAD ファイルに同じファイル名を使用した場合、ホスト サーバー CLI で次のコマンドを実行できます。

    コマンドからの出力は次のようになります。

    networkattachmentdefinition.k8s.cni.cncf.io/nad-vswitch-bd3001 created

    大まかな手順に戻る

  4. NAD を検証する

    ホスト サーバー CLI で、 コマンドを発行します。

    コマンドからの出力は次のようになります。

    大まかな手順に戻る

  5. Pod YAMLファイルの例を調べる

    NAD YAMLファイル、Pod YAMLファイル、またはPod定義と同様に、作成するユーザーポッドの設定を指定します。この例では、適用したばかりのpod1-vswitch-bd3001 NADで動作するポッドを作成しています。ここでも、コメントされたサンプル ファイルを以下に示します。このファイルは、ファイルからコメントを削除した場合にのみ、クラウドネイティブルーターの導入で使用できます。

    cat pod-kernel-access-vlan-3001.yaml

    大まかな手順に戻る

  6. ポッドをクラスタに適用する

    上記のPod YAMLファイルと同じファイル名を使用した場合、ホストサーバーのCLIで次のコマンドを実行して、ポッドをクラスターに適用できます。

    コマンドからの出力は次のようになります。

    pod/odu-kernel-pod-bd3001 created created

    大まかな手順に戻る

  7. ポッドの確認

    ホストサーバーのCLIで、以下のコマンドを発行して、ポッドの作成を確認します。

    コマンドからの出力は次のようになります。

    大まかな手順に戻る

  8. 最新のvRouterインターフェイスリストを表示する

    vRouter-agent CLI で、 コマンドを発行します。

    コマンドからの出力は次のようになります。

    vRouter エージェントは、5 つのインターフェイスについて認識できるようになりました。これは、ポッドがサブインターフェイスと親インターフェイスを作成したためです。仮想VLANインターフェイス vif0/4 は、親インターフェイスを vif0/3 と表示しています。 インターフェイス vif0/3 は、NAD および Pod YAML ファイルで定義された「net1」を含む名前を持つ仮想インターフェイスです。

    大まかな手順に戻る