Arista CloudVision and AVD with Containerlab: Full Lab - 夜莺博客

Arista CloudVision and AVD with Containerlab: Full Lab

用容器搭建 Arista 网络实验环境已经成为网工标配。本文完整演示如何组合三大工具:Containerlab 拉起 5 台 cEOS 容器构成 spine-leaf 拓扑,Arista Validated Design(AVD)自动生成配置,CloudVision(CVP)负责变更管理与配置下发,最后用两个 Linux 容器跨 VXLAN 验证东西向流量。全程真实命令输出,可直接复现。

工具链概览

CloudVision 是 Arista 的多域管理平台,支持 configlets、containers、tasks 与 change control;AVD 基于 Ansible 生成已验证的拓扑配置;Containerlab 提供 CLI 编排容器网络实验环境。三者组合可实现从拓扑定义到配置下发的全自动化。

部署 cEOS 实验环境

1. 安装 Containerlab 并导入 cEOS 镜像

curl -sL https://containerlab.dev/setup | sudo -E bash -s "all"
docker import cEOS-lab-4.32.2F.tar.xz ceos:4.32.2F

2. 编写拓扑文件

name: spine-leaf-borderleaf
mgmt:
  network: custom_mgmt
  ipv4-subnet: 192.168.20.0/24
topology:
  nodes:
    node-1:
      kind: arista_ceos
      image: ceos:4.32.2F
      startup-config: node1-startup-config.cfg
      mgmt-ipv4: 192.168.20.2
    # ... node-2 ~ node-5 类似,IP 依次递增
  links:
    - endpoints: ["node-3:eth1", "node-1:eth1"]
    - endpoints: ["node-3:eth2", "node-2:eth1"]

3. cEOS startup-config 要点

每台 cEOS 的启动配置需要包含 TerminAttr 守护进程(用于把设备加入 CVP 清单)、管理 VRF 与 API 配置:

daemon TerminAttr
 exec /usr/bin/TerminAttr -cvaddr=172.18.100.99:9910 -cvauth=token,/tmp/token -cvvrf=MGMT -disableaaa
 no shutdown
!
vrf instance MGMT
interface Management0
 no shutdown
 vrf MGMT
 ip address 192.168.20.2/24
!
ip route vrf MGMT 0.0.0.0/0 192.168.20.1
management api http-commands
 protocol https
 no shutdown
 vrf MGMT
 no shutdown

4. 部署与验证

sudo containerlab deploy -t spine-leaf-border.yaml
sudo containerlab graph -t spine-leaf-border.yaml   # 浏览器查看拓扑图 http://localhost:50080

部署后 cEOS 会自动出现在 CloudVision 的 Undefined 容器中,等待 AVD 创建任务。

AVD 对接 CloudVision

AVD 项目需要修改 deploy-cvp.yml 的 execute_tasks 开关(false 表示只创建 configlets/tasks 等人工审批,true 表示自动执行),并在 inventory.yml 中按 FABRIC > DC1 > DC1_SPINES / DC1_L3_LEAVES 组织设备组。AVD 会根据 group_vars 生成意图配置,通过 CVP 的 Change Control 审批后下发到对应设备。

跨 VXLAN 连通性验证

在拓扑中追加两个 ubuntu 客户端容器,分别接在两台 leaf 的下联 bridge 上,配置静态 IP 后互 ping:

root@client-1:/# ip addr add 10.71.0.11/24 dev eth1
root@client-1:/# ip route add 10.70.0.0/24 via 10.71.0.1
root@client-1:/# ping 10.70.0.12

在 leaf 上可用 show vxlan address-table 与 show arp vrf VRF11 确认远端 MAC 经 EVPN 学习、VXLAN 隧道转发正常——整个实验环境从零到可验证仅需几分钟,故障后 destroy 重建即可。

相关阅读

EOS 的 MLAG 双活配置见本站 Arista EOS MLAG Configuration: Complete Guide;EVPN-VXLAN 数据中心架构见 EVPN-VXLAN Data Center Fabric: Design Guide 2026;Spine-Leaf 架构基础见 Spine-Leaf Architecture: Modern Data Center Topology

原文链接:https://blog.andreasm.io/2024/08/22/arista-cloudvision-and-avd-using-containerlab/