DockerでcJunosEvolvedを導入および管理する
このトピックをお読みになり、Dockerにインストールした後にcJunosEvolvedインスタンスを導入して管理する方法を理解できます。
このトピックでは、以下について説明します。
概要
Docker Composeは、YAMLファイルの仕様に従って設定および接続されたcJunosEvolvedルーターのトポロジーを開始するために使用されます。YAMLファイルは、その中のコンテナをそれに応じて構成し、相互に接続できるようにするレシピであるため、デプロイが大幅に簡素化されます。
このセクションでは、cJunosEvolvedの導入に関連するDocker Composeの主な機能について説明します。
Docker Compose ファイルのレイアウト例を以下に示します。サンプルファイル一式については、ジュニパーのWebサイトにあるvJunos Labsのダウンロードページを参照してください。
Docker Compose Lay Out の説明
このセクションでは、Docker Compose YAML ファイルの概要について説明します。詳細については、「デプロイ」セクションで説明します。
ファイルの services セクションには、デプロイされるコンテナーごとに次のフィールドが含まれています。
- cJunosEvolved Dockerイメージ
- コンテナー名
- オプションのホスト名
- 特権モードが使用されていることを示す必須フィールド
- コンテナーに渡すことができる環境変数は、次の表に示されています。
- 単一の管理イーサネットポートと、Dockerがコンテナに提供する必要があるWAN(データ)イーサネットポートを含む、各コンテナのDockerネットワークの順序と優先順位付けされたリスト。
YAML ファイルには、全体的なネットワーク セクションもあります。ここでは、各イーサネットポートのIPサブネットアドレスを指定します。これにより、Dockerはコンテナ間のインターフェイスを適切に接続して、コンテナ間でトラフィックを伝送できるようになります。トポロジ内のコンテナーの管理ポート サブネットは、同じセクションで指定する必要があります。
環境変数
Docker Compose YAMLファイルでコンテナごとに指定できる環境変数は、以下のとおりです。
| 環境変数 | 値 | 形容 |
|---|---|---|
| CPTX_COSIM |
BTの |
「CPTX_COSIM:BT」は、BTチップセットを使用するPTX10001-36MRプラットフォームをエミュレートします。これがデフォルトの設定です。 |
| CPTX_COSIM |
BXの |
「CPTX_COSIM:BX」は、BXチップセットを使用するPTX10002-36QDDプラットフォームをエミュレートしています。 |
| CPTX_CHANNELIZED(オプション) |
1 |
「CPTX_CHANNELIZED:1」は、BTまたはBXタイプのインターフェイスをチャネル化モードにします。この環境変数が指定されていない場合、インターフェイスはデフォルトモードである非チャネル化モードになります。 |
| CPTX_EVOVM_CPU(オプション) |
EVOVMのコア数 |
最低 4 つのコアが必要です。CPU ピン留めはありません。 |
| CPTX_EVOVM_MEM_MB(オプション) |
EVO VMへのメモリ容量(MB) |
最低でも 6292 MB が必要です。
手記:cJunosEvolvedコンテナ全体に最低8GBのメモリが必要です。これには、EVO VM外のコンテナ内のCOSIMとQEMUも含まれます。
|
| CPTX_AUTO_CONFIG(オプション) |
1 |
自動プロビジョニング構成を有効にするには、「1」に設定します。自動構成は、Docker Compose で指定されたディスクを介して構成を渡すよりも優先されます。 |
WAN インターフェイスのマッピング
このトピックでは、Linuxスタイルの「eth」WANポート間のインターフェイスマッピングと、cJunosEvolvedの各タイプのCLIインターフェイス命名規則について詳しく説明します。
- cJunosEvolved-BT非チャネル化インターフェイスマッピング
- cJunosEvolved-BTチャネル化WANインターフェイスマッピング
- cJunosEvolved-BX 非チャネル化 WAN インターフェイス マッピング
- cJunosEvolved-BX チャネル化 WAN インターフェイス マッピング
cJunosEvolved-BT非チャネル化インターフェイスマッピング
cJunosEvolvedのBTバージョンでサポートされている12の非チャネル化インターフェイスがあります。これらのインターフェイスには、et-0/0/0からet-0/0/11までの番号が付けられており、公称定格は400G です。
Docker Compose Linux の eth4 – eth15 インターフェイスは、CLI 構成の et-0/0/0 – et-0/0/11 インターフェイスに対応します。
cJunosEvolved-BTチャネル化WANインターフェイスマッピング
チャネル化を使用すると、12の非チャネル化されたBTインターフェイスを72のチャネル化されたインターフェイスに多重化できます。各チャネル化されたポートの公称速度は8x25Gです。一部の物理ポートはシャットダウンされ、チャネル化がオンになると、この表のように使用されなくなります。
| CLIのチャネライズドポート 表記 | ポート | Docker Compose(Linuxなど)表記 | 速度 |
|---|---|---|---|
| et-0/0/0:0からet-0/0/0:7 |
8 |
eth4 - eth11 |
25G x 8 |
| et-0/0/1:0からet-0/0/1:7 |
8 |
eth12 - eth19 |
25G x 8 |
| et-0/0/2:0からet-0/0/2:7 |
8 |
eth20-eth27 |
25G x 8 |
| et-0/0/3:0からet-0/0/3:7 |
8 |
eth28 - eth35 |
25G x 8 |
| et-0/0/4:0からet-0/0/4:3(リタイマー) |
4 |
eth36 - eth39 |
25Gx4 |
| et-0/0/5 |
0 |
- |
シャットダウン |
| et-0/0/6:0からet-0/0/6:3(リタイマー) |
4 |
ETH40 - ETH43 |
25Gx4 |
| et-0/0/7 |
0 |
- |
シャットダウン |
| et-0/0/8:0からet-0/0/8:7 |
8 |
eth44 - eth51 |
25G x 8 |
| et-0/0/9:0からet-0/0/9:7 |
8 |
ETH52 - ETH59 |
25G x 8 |
| et-0/0/10:0からet-0/0/10:7 |
8 |
eth60 - eth67 |
25G x 8 |
| et-0/0/11:0からet-0/0/11:7 |
8 |
eth68 - eth75 |
25G x 8 |
cJunosEvolved-BX 非チャネル化 WAN インターフェイス マッピング
このモードは、合計 36 の WAN インターフェイスをサポートします。各インターフェイスの公称ポート速度は800G です。
Docker Compose Linux の eth4-eth39 ポートは、それぞれ CLI の et-0/0/0- et-0/0/35 インターフェイスに対応しています。
cJunosEvolved-BX チャネル化 WAN インターフェイス マッピング
各BX ASICシミュレータは、100G で72のチャネル化されたインターフェイスをサポートします。これにより、合計 144 個のチャネル化されたインターフェイスが得られます。
以下のようなCLIコマンドを使用して、非チャネル化された各インターフェイスをチャネル化し、et-0/0/0は単なる例であり、速度を100G に設定します。
set groups global interfaces et-0/0/0 number-of-sub-ports 4
set groups global interfaces et-0/0/0 speed 100g
以下の表は、チャネル化WANポートマッピングを示しています。各「物理」WANポートは4つのチャネルに分割されているため、チャネル化係数は4x100Gです。
| CLI表記のチャネライズドポート(下位72) | Docker Compose Linux インターフェイス |
|---|---|
| et-0/0/0:0からet-0/0/0:3 | eth4 - eth7 |
| et-0/0/1:0からet-0/0/1:3 | eth8 - eth11 |
| et-0/0/2:0からet-0/0/2:3 |
eth12 - eth15 |
| et-0/0/3:0からet-0/0/3:3 |
eth16 - eth19 |
| et-0/0/4:0からet-0/0/4:3 |
eth20-eth23 |
| et-0/0/5:0からet-0/0/5:3 |
eth24-eth27 |
| et-0/0/6:0からet-0/0/6:3 |
eth28-eth31 |
| et-0/0/7:0からet-0/0/7:3 |
ETH32 - ETH35 |
| et-0/0/8:0からet-0/0/8:3 |
eth36 - eth39 |
| et-0/0/9:0からet-0/0/9:3 |
eth40-eth43 |
| et-0/0/10:0からet-0/0/10:3 |
ETH44 - ETH47 |
| et-0/0/11:0からet-0/0/11:3 |
ETH48 - ETH51 |
| et-0/0/12:0からet-0/0/12:3 |
ETH52 - ETH55 |
| et-0/0/13:0からet-0/0/13:3 |
eth56 - eth59 |
| et-0/0/14:0からet-0/0/14:3 |
eth60 - eth63 |
| et-0/0/15:0からet-0/0/15:3 |
eth64 - eth67 |
| et-0/0/16:0からet-0/0/16:3 |
eth68 - eth71 |
| et-0/0/17:0からet-0/0/17:3 |
eth72 - eth75 |
| チャネル化されたポート(上位 72) | Docker Compose Linux 表記 |
| et-0/0/18:0からet-0/0/18:3 |
eth76 - eth79 |
| et-0/0/19:0からet-0/0/19:3 |
eth80 - eth83 |
| et-0/0/20:0からet-0/0/20:3 |
eth84 - eth87 |
| et-0/0/21:0からet-0/0/21:3 |
eth88 - eth91 |
| et-0/0/22:0からet-0/0/22:3 |
eth92 - eth95 |
| et-0/0/23:0からet-0/0/23:3 |
eth96 - eth99 |
| et-0/0/24:0からet-0/0/24:3 |
eth100 - eth103 |
| et-0/0/25:0からet-0/0/25:3 |
ETH104 - ETH107 |
| et-0/0/26:0 から eth-0/0/26:3 |
eth108 - eth111 |
| et-0/0/27:0からet-0/0/27:3 |
eth112 - eth115 |
| et-0/0/28:0からet-0/0/28:3 |
eth116 - eth119 |
| et-0/0/29:0からet-0/0/29:3 |
eth120 - eth123 |
| et-0/0/30:0からet-0/0/30:3 |
ETH124 - ETH127 |
| et-0/0/31:0からet-0/0/31:3 |
eth128 - eth131 |
| et-0/0/32:0からet-0/0/32:3 |
ETH132 - ETH135 |
| et-0/0/33:0からet-0/0/33:3 |
eth136 - eth139 |
| et-0/0/34:0からet-0/0/34:3 |
eth140 - eth143 |
| et-0/0/35:0からet-0/0/35:3 |
ETH144 - ETH147 |
cJunosEvolvedの導入
Docker Compose とそれに関連する YAML ファイルがデプロイに使用されます。
このトピックでは、Docker Composeを通じてcJunosEvolvedを展開するためのYAMLファイルのいくつかのセクションのみを取り上げます。cJunosEvolved Composeサンプルファイルの一部は、ラボのダウンロードページから、必要なコンテナイメージおよび関連ドキュメントとともにダウンロードできます。