在 Docker 上部署和管理 cJunosEvolved
阅读本主题,了解如何在 Docker 上安装 cJunosEvolved 实例后部署和管理该实例。
本主题将介绍如下内容:
概述
Docker Compose 用于启动根据 YAML 文件中的规范配置和连接的 cJunosEvolved 路由器的拓扑。YAML 文件极大地简化了部署,因为它是一个配方,允许相应地配置其中的容器并相互连接。
本节介绍 Docker Compose 与 cJunosEvolved 部署相关的主要功能。
Docker Compose 文件的示例布局如下所示。有关完整的示例文件,请参阅瞻博网络网站上的 vJunos Labs 下载页面。
Docker Compose 布局说明
本部分提供 Docker Compose YAML 文件的高级概述。部署部分介绍了详细信息。
文件的服务部分包含要部署的每个容器的以下字段:
- cJunosEvolved Docker 映像
- 容器名称
- 可选主机名
- 指示使用特权模式的必填字段
- 可以传递到容器中的环境变量显示在后面的表中。
- 每个容器的 Docker 网络的有序和优先级列表,包括单个管理以太网端口和 Docker 需要向容器提供的任何 WAN(数据)以太网端口。
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 接口映射
本主题提供每种类型的 cJunosEvolved 的 Linux 样式“eth”WAN 端口与 CLI 接口命名约定之间的接口映射的详细信息。
- cJunosEvolved-BT 非通道化接口映射
- cJunosEvolved-BT 通道化 WAN 接口映射
- cJunosEvolved-BX 非通道化 WAN 接口映射
- cJunosEvolved-BX 通道化 WAN 接口映射
cJunosEvolved-BT 非通道化接口映射
BT 版本的 cJunosEvolved 支持 12 个非通道化接口。这些接口的编号从 et-0/0/0 到 et-0/0/11,标称额定功率为 400 G。
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 |
8 个 25G |
| et-0/0/1:0 到 et-0/0/1:7 |
8 |
ETH12-ETH19 |
8 个 25G |
| et-0/0/2:0 到 et-0/0/2:7 |
8 |
ETH20-ETH27 |
8 个 25G |
| et-0/0/3:0 到 et-0/0/3:7 |
8 |
ETH28-ETH35 |
8 个 25G |
| et-0/0/4:0 至 et-0/0/4:3(重定时器) |
4 |
ETH36-ETH39 |
4 个 25G |
| ET-0/0/5 |
0 |
- |
关机 |
| et-0/0/6:0 到 et-0/0/6:3(重定时器) |
4 |
ETH40 – ETH43 |
4 个 25G |
| ET-0/0/7 |
0 |
- |
关机 |
| et-0/0/8:0 至 et-0/0/8:7 |
8 |
ETH44- ETH51 |
8 个 25G |
| et-0/0/9:0 到 et-0/0/9:7 |
8 |
ETH52 – ETH59 |
8 个 25G |
| et-0/0/10:0 到 et-0/0/10:7 |
8 |
ETH60 – ETH67 |
8 个 25G |
| et-0/0/11:0 到 et-0/0/11:7 |
8 |
ETH68 – ETH75 |
8 个 25G |
cJunosEvolved-BX 非通道化 WAN 接口映射
此模式共支持 36 个 WAN 接口。每个接口的标称端口速度为 800 G。
Docker Compose Linux eth4-eth39 端口分别对应于 CLI et-0/0/0-et-0/0/35 接口。
cJunosEvolved-BX 通道化 WAN 接口映射
每个 BX ASIC 模拟器支持 72 个 100 G 通道化接口。总共产生 144 个通道化接口。
使用如下所示的 CLI 命令对每个非通道化接口进行通道化,et-0/0/0 只是一个示例,并将速度设置为 100 G。
set groups global interfaces et-0/0/0 number-of-sub-ports 4
set groups global interfaces et-0/0/0 speed 100g
下表显示了通道化 WAN 端口映射。信道化系数为 4x100G,因为每个“物理”WAN 端口分为 4 个信道。
| 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 Notation |
| 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 文件用于部署。
本主题仅重点介绍 YAML 文件中用于通过 Docker Compose 部署 cJunosEvolved 的几个部分。一些示例 cJunosEvolved Compose 文件以及所需的容器映像和相关文档可从实验室下载页面下载。