Skip to main content

CML With SDWAN Deployment Tool

·3 mins
SDWAN CML
Table of Contents

一直以来 depoly 一个 SDWAN 测试环境是一个比较费时间的事,最近在看 CML 2.8 (思科模拟器)release note 的时候看到关于自动化部署的内容,简化 SDWAN 实验的部署流程和时间, 所以抽空测试了一把。

自动化部署工具可以帮助你快速的部署 vManage/vBond/vSmart 以及多个 edge,并帮助你完成控制器上证书的安装以及 edge 的自动化上线。

测试环境介绍
#

  • Python 3.10
  • CML 2.7.x
  • sdwan-lab-deployment-tool 2.0.14

SDWAN Deployment Tool 安装
#

Catalyst SD-WAN Lab Deployment Tool for Cisco Modeling Labs, github 页面提供了详细的安装和命令行使用方法。

rory@jumpserver:~$ mkdir csdwan
rory@jumpserver:~$ cd csdwan/
rory@jumpserver:~/csdwan$ sudo apt install python3.10-venv
rory@jumpserver:~/csdwan$  python3 -m venv venv
rory@jumpserver:~/csdwan$  source venv/bin/activate
(venv) rory@jumpserver:~/csdwan$ pip3  install --upgrade pip setuptools
(venv) rory@jumpserver:~/csdwan$ pip3 install --upgrade catalyst-sdwan-lab
(venv) rory@jumpserver:~/csdwan$ csdwan --version
SD-WAN Lab Version 2.0.14

准备 SDWAN LAB 相关环境变量,在这里 MANAGER_IP 我设定的是做 NAT,即将 CML 的地址 2002 端口映射到 vManage 的管理地址 443 端口, 如果需要这样操作则还得在 CML 管理页面将 virl2-patty 进程开启, 默认是 stop 的状态, 这个进程会帮我们做一个端口的映射;当然你也可以指定 vMange 的 IP 和 CML 在同一个地址段。

alt text

(venv) rory@jumpserver:~/csdwan$ cat SDWAN-TEST.sh
export CML_IP='172.x.x.x'
export CML_USER='admin'
export CML_PASSWORD='admin'
export MANAGER_IP='pat:2002'
export MANAGER_USER='sdwan'
export MANAGER_PASSWORD='sdwan'
export LAB_NAME='SDWAN-TEST'
(venv) rory@jumpserver:~/csdwan$
(venv) rory@jumpserver:~/csdwan$
(venv) rory@jumpserver:~/csdwan$
(venv) rory@jumpserver:~/csdwan$
(venv) rory@jumpserver:~/csdwan$ source SDWAN-TEST.sh
(venv) rory@jumpserver:~/csdwan$

镜像上传
#

在 csdwan 文件夹下准备好相关的镜像文件使用csdwan setup 进行镜像的上传, 该步骤会在 CML 中创建相关版本的镜像模版。

(venv) rory@jumpserver:~/csdwan$ ls -al
total 7547744
drwxrwxr-x  3 rory rory       4096 Dec 26 05:24 .
drwxr-x--- 18 rory rory       4096 Dec 26 04:30 ..
-rwxr-xr-x  1 rory rory 2033582080 Dec 26 05:18 c8000v-universalk9_8G_serial.17.13.01a.qcow2
-rw-rw-r--  1 rory rory        204 Dec 26 05:24 SDWAN-TEST.sh
drwxrwxr-x  5 rory rory       4096 Dec 26 04:30 venv
-rwxr-xr-x  1 rory rory  406192128 Dec 26 05:20 viptela-edge-20.13.1-genericx86-64.qcow2
-rwxr-xr-x  1 rory rory  406192128 Dec 26 05:23 viptela-smart-20.13.1-genericx86-64.qcow2
-rwxr-xr-x  1 rory rory 4882890752 Dec 26 05:52 viptela-vmanage-20.13.1-genericx86-64.qcow2
(venv) rory@jumpserver:~/csdwan$
(venv) rory@jumpserver:~/csdwan$ csdwan -v setup
INFO - Logging in to CML...
INFO - Verifying Node Definitions...
INFO - [CREATE] Creating node cat-sdwan-manager...
INFO - [CREATE] Creating node cat-sdwan-validator...
INFO - [CREATE] Creating node cat-sdwan-controller...
INFO - [CREATE] Creating node cat-sdwan-edge...
INFO - Verifying software images...
INFO - Looking for new software images in /home/rory/csdwan...
INFO - Creating image definition cat-sdwan-manager-20.13.1...
Uploading viptela-vmanage-20.13.1-genericx86-64.qcow2
 |##################################################| 4882890752/4882890752 100.0% [00:00:09]
Upload completed
INFO - Creating image definition cat-sdwan-edge-17.13.01a...
Uploading c8000v-universalk9_8G_serial.17.13.01a.qcow2
 |##################################################| 2033582080/2033582080 100.0% [00:00:04]
Upload completed
INFO - Creating image definition cat-sdwan-controller-20.13.1...
Uploading viptela-smart-20.13.1-genericx86-64.qcow2
 |##################################################| 406192128/406192128 100.0% [00:00:00]
Upload completed
INFO - Creating image definition cat-sdwan-validator-20.13.1...
Uploading viptela-edge-20.13.1-genericx86-64.qcow2
 |##################################################| 406192128/406192128 100.0% [00:00:00]
Upload completed
INFO - Setup task done

Deploy 测试拓扑
#

在这一步中,如下 topo 会自动在 CML 中创建,这里需要注意的是 vManage 需要很长的时间进行启动,在此期间 csdwan 执行的服务器会不断的使用 API 检测 vManage 的状态是否 ready, 所以一定要确保服务器于 vMange 之间连通性正常。在这里我需要确保我的服务器可以正常的访问 “SD-WAN Manager URL: https://172.x.x.x:2002

alt text

(venv) rory@jumpserver:~/csdwan$ csdwan deploy 20.13.1
SD-WAN Manager subnet mask (e.g. /24): /24
SD-WAN Manager gateway IP: 172.16.10.100
Deploy task done
#############################################
Lab is deployed.
CML URL: https://172.x.x.x
SD-WAN Manager URL: https://172.x.x.x:2002
Use the username/password set with the script for CML and SD-WAN Manager login.
All other nodes use default username/password.
#############################################
(venv) rory@jumpserver:~/csdwan$

添加 2 台 edge,并完成自动上线;这两台 edge 会完成相关预配置, 并且 G3 端口已经开启了 DHCP,后续我们可以手动的在 topo 中添加两个 alpine client, 两台 client 可自行获取 IP 地址。

(venv) rory@jumpserver:~/csdwan$ csdwan add 2 edges 17.13.01a
Add task done
(venv) rory@jumpserver:~/csdwan$

alt text

参考
#




Comments