简介
本文描述如何在思科建模实验室(CML)中使用开源实验室部署工具自动创建Catalyst SD-WAN交换矩阵。
背景信息
SD-WAN Lab Deployment Tool可自动在CML中创建SD-WAN交换矩阵,并大大简化了许多步骤,包括将SD-WAN边缘路由器添加到交换矩阵、证书安装和其他自注册任务。
在SD-WAN Lab Tool之前,用户必须在CML中手动部署SD-WAN控制器和边缘路由器-有关详细信息,请参阅。
现在,整个过程完全自动化,只需几分钟,而不是几小时。请参阅此YouTube视频中的实验工具的简短演示。
实验室部署工具的主要优势
- 完全自动创建SD-WAN控制器
- 在一个自动化任务中添加多个使用SD-WAN Edge路由器的分支机构
- 两个SD-WAN传输:互联网和MPLS
- 能够引入延迟作为WAN链路仿真
- 备份和恢复功能
- GitHub上的开源回购
- 自SD-WAN Lab工具在不同组织(包括销售、CX(TAC和PS)和BU)中创建以来,其Cisco-internal版本已被使用了900多次。请参阅有关Cisco-internal版本的更多详细信息。
SD-WAN使用案例的CML要求
- CML可以部署在内部服务器(裸机或ESXi上的虚拟机)或AWS中。
- 支持群集以增加容量。
- 对于思科内部用户:可以获得许可证。
- 对于外部客户:此处提供不同的许可证层。
- 此处提供了安装指南(对内部和外部用户同样适用)。
- 推荐的SD-WAN模拟选项:使用少量服务器的本地CML集群。
SD-WAN实验室部署工具详情
- 该工具目前在Linux/MacOS系统上受支持,因为依赖程序包(pyats)仅对这些系统可用。
- 要在Windows上运行该工具,您需要一个Linux VM/容器,或在Windows上使用WSL。您可以在
pyproject.toml文件中找到所有依赖项:https://github.com/cisco-open/sdwan-lab-deployment-tool/blob/main/pyproject.toml
- 请参阅GitHub上的所有安装步骤、使用示例和源代码。
- 确保运行实验工具的主机与CML服务器/群集之间的网络连接足够快。在上传SD-WAN控制器的SW映像期间,这将很有帮助。
- 有关于SD-WAN实验室部署工具的问题吗?发送邮件至cml-sdwan-lab-tool@external.cisco.com
故障排除
Python版本不匹配
截至2024年4月底,实验工具需要Python 3.9版。如果您有更新的Python版本,安装可能会失败。请注意,Python 3.12支持即将推出。
由于Python版本错误而导致安装失败的示例:
(venv) [csdwan] $ pip install --upgrade catalyst-sdwan-lab Collecting catalyst-sdwan-lab Downloading catalyst_sdwan_lab-2.0.9-py3-none-any.whl.metadata (20 kB) ... Downloading catalyst_sdwan_lab-2.0.6-py3-none-any.whl.metadata (20 kB) ERROR: Cannot install catalyst-sdwan-lab==2.0.6, catalyst-sdwan-lab==2.0.7, catalyst-sdwan-lab==2.0.8 and catalyst-sdwan-lab==2.0.9 because these package versions have conflicting dependencies. The conflict is caused by: catalyst-sdwan-lab 2.0.9 depends on pyats<24.0 and >=23.1 catalyst-sdwan-lab 2.0.8 depends on pyats<24.0 and >=23.1 catalyst-sdwan-lab 2.0.7 depends on pyats<24.0 and >=23.1 catalyst-sdwan-lab 2.0.6 depends on pyats<24.0 and >=23.1 To fix this you could try to: 1. loosen the range of package versions you've specified 2. remove package versions to allow pip attempt to solve the dependency conflict ERROR: ResolutionImpossible: for help visit https://pip.pypa.io/en/latest/topics/dependency-resolution/#dealing-with-dependency-conflicts (venv) [csdwan] $
要解决此问题,您可以在环境变量中将Python 3.9放在3.12前面,使用pyenv在不同版本(“pyenv global 3.9”)之间切换,或从3.12降级到3.9。