快速入门
此快速入门提供了一种快速简便的方法来运行您自己的 Vagrant、libvirt 和 KVM 服务器,并提供了关于如何操作的步骤:
- 使用 bash 脚本启动黄金标准演示拓扑
- 如果您希望从头开始构建配置,请启动空白 NVIDIA 参考拓扑
- 销毁并结束模拟
要运行 不带 NetQ 的完整参考拓扑,您需要 15104MB 的内存。如果您打算运行 NetQ,则需要 23296MB 的内存。有关完整的系统要求,请参阅 运行生产就绪自动化。
要 *快速* 了解 NVIDIA 黄金标准演示,请使用 NVIDIA 模拟平台 Cumulus in the Cloud。该模拟平台没有系统要求或依赖项。访问 Cumulus in the Cloud 以获取完整的空白参考拓扑。您只需单击一下即可从 UI 部署任何黄金标准演示。
启动黄金标准演示拓扑
以下步骤描述了使用软件包中提供的 bash 脚本启动生产就绪自动化演示的最简单方法。bash 脚本会自动执行以下步骤
- 检查 NVIDIA 参考拓扑子模块是否存在,如果不存在,则尝试下载参考拓扑。
- 为带外管理网络设备运行
vagrant up
命令。 - 运行一系列
vagrant up
命令以启动其余的网络模拟。 - 运行
vagrant scp
命令以将网络自动化复制到模拟中。
要控制哪些节点启动以及启动顺序,并节省 CPU 和内存资源,您可以手动运行模拟。请参阅 运行生产就绪自动化。
要使用 bash 脚本启动黄金标准演示拓扑
从 Golden Turtle GitLab 页面 中,选择您要使用的演示拓扑。
为您选择的 Golden Turtle 演示运行
git clone
命令,并使用--recurse-submodules
参数同时下载所需的基本参考拓扑user@host:~# git clone --recurse-submodules https://gitlab.com/cumulus-consulting/goldenturtle/dc_configs_vxlan_evpnsym.git Cloning into 'dc_configs_vxlan_evpnsym'... remote: Enumerating objects: 535, done. remote: Counting objects: 100% (535/535), done. remote: Compressing objects: 100% (300/300), done. remote: Total 535 (delta 198), reused 465 (delta 133), pack-reused 0 Receiving objects: 100% (535/535), 66.78 KiB | 1.45 MiB/s, done. Resolving deltas: 100% (198/198), done. Submodule 'cldemo2' (https://gitlab.com/cumulus-consulting/goldenturtle/cldemo2.git) registered for path 'cldemo2' Cloning into '/root/dc_configs_vxlan_evpnsym/cldemo2'... remote: Enumerating objects: 215, done. remote: Counting objects: 100% (215/215), done. remote: Compressing objects: 100% (119/119), done. remote: Total 852 (delta 139), reused 156 (delta 96), pack-reused 637 Receiving objects: 100% (852/852), 7.64 MiB | 8.21 MiB/s, done. Resolving deltas: 100% (549/549), done. Submodule path 'cldemo2': checked out '214c8a66e3fef8f6d5d2b1e13ca3942e4cfd120f'
更改为上一步创建的目录。目录名称与 git clone 操作中项目的名称相匹配。
user@host:~# cd dc_configs_vxlan_evpnsym/ user@host:~/dc_configs_vxlan_evpnsym#
运行
start-demo.sh
脚本。如果您不打算使用 NetQ,请添加--no-netq
选项。基本 NVIDIA 参考拓扑的带外管理网络包含一个 Ubuntu 18.04LTS 系统,该系统具有用于安装 NetQ 的额外 CPU 和内存资源。NetQ *不是* 任何黄金标准演示功能的必需元素,但在拓扑中用于提供强大的 CI/CD 测试,以及预览和测试 NetQ 功能。如果您不打算使用 NetQ,NVIDIA 建议您不要在模拟中启动它,以节省额外的 8GB 内存。
user@host:~/dc_configs_vxlan_evpnsym# ./start-demo.sh --no-netq Starting OOB management devices Bringing machine 'oob-mgmt-server' up with 'libvirt' provider... Bringing machine 'oob-mgmt-switch' up with 'libvirt' provider... ==> oob-mgmt-server: Checking if box 'generic/ubuntu1804' version '2.0.6' is up to date... ==> oob-mgmt-switch: Checking if box 'CumulusCommunity/cumulus-vx' version '3.7.11' is up to date... ==> oob-mgmt-server: Creating image (snapshot of base box volume). ==> oob-mgmt-switch: Creating image (snapshot of base box volume). ==> oob-mgmt-server: Creating domain with the following settings... <output omitted for brevity>
在此步骤中,Vagrant 启动并配置基本模拟。此步骤可能需要 15 分钟或更长时间才能完成,具体取决于主机和互联网连接速度。
启动脚本成功后,更改为
cldemo2/simulation
目录user@host:~/dc_configs_vxlan_evpnsym# cd cldemo2/simulation/ user@host:~/dc_configs_vxlan_evpnsym/cldemo2/simulation#
运行
vagrant ssh oob-mgmt-server
命令以进入 oob-mgmt-server 上的模拟。这是您访问网络中其他设备的跳转系统。user@host:~/dc_configs_vxlan_evpnsym/cldemo2/simulation# vagrant ssh oob-mgmt-server _ _______ x x x | | ._ <_______~ x X x ___ _ _ _ __ ___ _ _| |_ _ ___ (' \ ,' || `, / __| | | | '_ ` _ \| | | | | | | / __| `._:^ || :> | (__| |_| | | | | | | |_| | | |_| \__ \ ^T~~~~~~T' \___|\__,_|_| |_| |_|\__,_|_|\__,_|___/ ~" ~" ############################################################################ # # Out Of Band Management Server (oob-mgmt-server) # ############################################################################ vagrant@oob-mgmt-server:~$
更改为自动化目录
vagrant@oob-mgmt-server:~$ cd automation/ vagrant@oob-mgmt-server:~/automation$
运行 Ansible playbook 以配置您选择的演示
您可以使用
-i
标志来指定 Ansible 清单的位置。这是一个要求,除非您将清单移动到 标准 Ansible 位置。vagrant@oob-mgmt-server:~/automation$ ansible-playbook playbooks/deploy.yml -i inventories/pod1 --diff PLAY [spine leaf border] **************************************************************** TASK [Gathering Facts] **************************************************************** Sunday 12 April 2020 23:35:25 +0000 (0:00:00.073) 0:00:00.073 ********** ok: [spine03] ok: [spine04] ok: [spine02] ok: [spine01] ok: [leaf01] ok: [leaf02] ok: [leaf03] ok: [leaf04] ok: [border02] ok: [border01] <output omitted for brevity>
查看所选演示存储库中的 README.md
文件,以获取有关拓扑的更多信息,例如 IP 地址,以及演示中特定技术或架构的简短引导。
启动空白参考拓扑
每个 NVIDIA 黄金标准演示都包含 NVIDIA 参考拓扑作为子模块,这消除了克隆基本参考拓扑项目的需要。
如果您想从头开始构建配置,或者打算从完全空白的网络拓扑开始,则可以单独启动参考拓扑。
克隆 NVIDIA 参考拓扑 (
cldemo2
)user@host:~# git clone https://gitlab.com/cumulus-consulting/goldenturtle/cldemo2.git Cloning into 'cldemo2'... remote: Enumerating objects: 215, done. remote: Counting objects: 100% (215/215), done. remote: Compressing objects: 100% (119/119), done. remote: Total 852 (delta 139), reused 156 (delta 96), pack-reused 637 Receiving objects: 100% (852/852), 7.64 MiB | 8.21 MiB/s, done. Resolving deltas: 100% (549/549), done.
更改为上一步创建的
cldemo2
目录user@host:~# cd cldemo2/ user@host:~/cldemo2#
运行
start-blank-topology.sh
脚本以启动模拟。如果您不打算使用 NetQ,请添加--no-netq
选项。user@host:~/cldemo2# ./start-blank-topology.sh --no-netq Starting OOB management devices Bringing machine 'oob-mgmt-switch' up with 'libvirt' provider... Bringing machine 'oob-mgmt-server' up with 'libvirt' provider... <output omitted for brevity>
此步骤可能需要一些时间,具体取决于主机和互联网连接速度。
启动脚本成功后,更改为 simulation 目录
user@host:~/cldemo2# cd simulation/ user@host:~/cldemo2/simulation#
使用
vagrant ssh
命令 SSH 进入 oob-mgmt-server。这是访问模拟其余部分的跳转系统。
有关如何开始在此空白拓扑上进行开发和构建的更多信息,请参阅 NVIDIA 参考拓扑 GitLab 项目和开发者指南的 README.md
文件。
销毁并结束模拟
要销毁模拟中的 *所有* 系统,请从 simulation
文件夹运行 vagrant destroy -f
命令
user@host:~/cldemo2/simulation# vagrant destroy -f
==> server08: Removing domain...
==> server07: Removing domain...
==> server06: Removing domain...
==> server05: Removing domain...
==> server04: Removing domain...
==> server03: Removing domain...
==> server02: Removing domain...
==> server01: Removing domain...
==> netq-ts: Removing domain...
==> leaf04: Removing domain...
==> leaf03: Removing domain...
==> leaf02: Removing domain...
==> leaf01: Removing domain...
==> fw2: Removing domain...
==> fw1: Removing domain...
==> spine04: Removing domain...
==> spine03: Removing domain...
==> spine02: Removing domain...
==> spine01: Removing domain...
==> border02: Removing domain...
==> border01: Removing domain...
==> oob-mgmt-switch: Removing domain...
==> oob-mgmt-server: Removing domain...
user@host:~/cldemo2/simulation#
要销毁单个系统,请在 vagrant destroy
命令中指定系统名称
user@host:~/cldemo2/simulation# vagrant destroy server08 -f
==> server08: Removing domain...
user@host:~/cldemo2/simulation#