目录

简介

背景信息

实验室部署工具的主要优势

SD-WAN使用案例的CML要求

SD-WAN实验室部署工具详情

故障排除

Python版本不匹配

简介

本文描述如何在思科建模实验室(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。