SONiC KVM Testbed

🖧 本地 SONiC 虚拟测试床一键部署

用于在单机上部署 SONiC KVM 虚拟测试床,支持 cEOS 邻居收敛与 pytest 网络测试,适合本地开发和 CI 验证场景。

收藏
2.6k
安装
1.2k
版本
1.0.0
CLS 安全扫描中
预计需要 3 分钟...

使用说明

核心用途

sonic-kvm-testbed 是一套完整的本地虚拟网络测试床部署方案,面向 SONiC(Software for Open Networking in the Cloud)开源网络操作系统的开发者和测试工程师。该技能支持在单台 Ubuntu 宿主机上通过 KVM + Docker 技术栈,构建包含 SONiC 虚拟交换机(DUT)、Arista cEOS 邻居设备、PTF 流量生成器及 sonic-mgmt 测试框架的完整测试环境。

显著优点

1. 资源高效收敛:通过 use_converged_peers: true 启用多 VRF 技术,可将 24 台 cEOS 邻居收敛为 2 台容器,大幅降低内存占用(从 30GB+ 优化至 20GB 级)
2. 完整测试闭环:集成 Ansible 配置管理 + pytest 测试执行框架,支持 T0/T1/T1-LAG 等多种数据中心拓扑的自动化验证

3. 本地开发友好:无需物理交换机和硬件实验室,单台工作站即可完成 SONiC 功能开发、回归测试和故障复现

潜在局限与风险

  • 配置脆弱性:group_vars、inventory 等关键配置文件会在 git 操作和部署流程中频繁重置,必须依赖外部脚本反复修复
  • 版本耦合严格:收敛功能依赖特定 PR(#22399),且需严格匹配 sonic-buildimage 生成的 sonic-vs 镜像与用户凭证
  • 网络配置非持久化br1 管理网桥重启后丢失,需额外配置 netplan
  • 隐性阻塞点:docker registry 的 :443 端口配置、.bak 文件残留、max_fp_num 限制等均会导致部署静默失败

适用人群

  • SONiC 社区开发者、网络功能测试工程师、CI/CD 基础设施维护人员
  • 需要验证 BGP、ACL、QoS、VXLAN 等功能的网络工程师

常规风险

  • 宿主机需开放 SSH root 权限和 docker socket 宽松权限(666),存在本地权限提升风险
  • 测试流量可能干扰宿主网络,建议隔离环境或专用测试机
  • 长时间运行的 cEOS 容器可能泄漏资源,需规范 teardown 流程

SONiC KVM Testbed 内容

references文件夹
手动下载zip · 6.4 kB
credentials.mdtext/markdown
请选择文件