数据中心/云端

在 NVIDIA Air 上探索 SONiC

测试网络基础设施和为新环境构建可工作的 PoC,往好了说可能很棘手,往坏了说可能非常可怕。你可能会遇到无法满足的许可要求,或者为高级虚拟机软件支付昂贵的费用。专有网络系统可能花费数百或数千美元,只是为了建立一个可供使用的测试环境。你甚至可能会被迫在物理、可能过时的硬件上进行测试,你必须自己连接,如果你需要用更多的硬件进行测试,你必须找到并购买更多。

为什么选择 SONiC?

进入SONiC(云中开放网络软件),这是一个免费的、社区开发的、基于 Linux 的网络操作系统(NOS),它在一些最大的云服务提供商的数据中心得到了加强 SONiC 是寻求低成本、可扩展和完全可控的 NOS 而又不牺牲灵活性或安全性的中心的理想选择,它提供了开发人员所需的所有标准网络功能,并随着新功能和更新不断发展。

Community SONiC 是开源的,与专有的 NOS 相比,它消除了许可和供应商锁定墙,并显著降低了成本,这也使得您可以根据需要构建 SONiC 的自定义映像,包括所有必要的部件而排除不需要的部件,从而实现密集的定制。

  • 减少不必要的复杂性和资源使用
  • 自动化辅助
  • 将同一映像部署到数百个交换机,所有交换机都已预配置并准备就绪
  • 启用 ZTP
  • 安装某些 Docker 容器
  • 配置路由
  • 构建并添加您自己的专有功能

有关详细信息,请参阅构建 NVIDIA 纯 SONiC 映像

NVIDIA Air 平台提供了真正的基础设施即代码(IaC)解决方案。NVIDIA Air 使您可以轻松地使用数百台交换机和服务器即时生成虚拟数据中心副本,以便随心所欲地进行测试。当您不可挽回地毁掉某件东西时,只需再复制一份。

最棒的是,你不必倾家荡产。NVIDIA Air 对任何人都是免费的。

NVIDIA Air 的一个惊人功能是能够在一角钱内启动预制的、完全配置的实验室。NVIDIA 创建了一个新的预配置 SONiC 实验室,配备了最新的社区 SONiC GA 版本(出版时为 202305),采用现代数据中心中的经典脊叶架构,这样任何人都可以毫不费力地在 NVIDIA Air 上体验 SONiC 的魔力。

SONiC 实验室

NVIDIA Air 上的SONiC BGP EVPN VXLAN实验室演示是一个新的实验室,由标准主干和叶子拓扑组成,运行 SONiC 交换机,Ubuntu 服务器连接到叶子,以演示 VLAN 连接。

该实验室将引导您了解其配置,以及 Ansible 如何自动为其配备。它还向您展示了如何与它交互。您可以在公共 /cumulus-consulting GitLab repo 上找到所有文档、配置文件和 Ansible 脚本。

它展示了以下结构:

您还可以使用 NVIDIA Air 的以下功能,将实验室作为基础,并根据您的需求进行进一步配置:

  • 完整的 CLI 和 API 功能
  • 控制平面软件,包括 BGP、VLAN 和容器
  • 自动化和零接触供应(ZTP)
  • 流式遥测网络监控
  • NVIDIA Cumulus Linux 与 SONiC 的互操作测试
  • 自定义拓扑和网络设计

SONiC 交换机配置

实验室使用专门为虚拟设备构建的 SONiC 映像,称为sonic-vs。此映像已安装在实验室中的所有 SONiC 交换机上,无需启动到 ONIE 或自己安装映像。

SONiC 体系结构是容器化的。具有相似或依赖功能的程序被放在模块中,每个模块被放在一个独立的 Docker 容器中。

中央配置由称为ConfigDB的 redisDB 实例管理,设备元数据、接口、端口、VLAN 配置等都在ConfigDB中处理。ConfigDB可以通过多种方式进行操作,包括手动编辑config_db.json文件或使用SONiC CLI。有关更多信息,请参阅SONiC 配置数据库手册

通常,SONiC CLI 用于构建测试环境和概念验证(PoC),同时管理config_db.json在生产环境中执行。

split-unified模式是为这个实验室实现的。该模式启用单独的交换机和路由配置。

交换机配置由 ConfigDB 处理,而路由则使用FRRouting(FRR)进行配置,并放置在单个etc/sonic/frr/frr.conf 文件中,该选项可以通过在 SONiC 交换机上插入以下内容来启用。

"DEVICE_METADATA": {
        "localhost": {
            ...
            "docker_routing_config_mode": "split-unified"
        }
    }

实验室的源代码为拆分模式提供了相同的配置,其中交换机和路由仍然是单独配置的,就像split-unified一样。但是,在split模式下,每个 FRR 守护进程都包含在它自己的配置文件中,而不像是一个单独的文件。

根据您的环境,您可能会发现拆分-统一更容易管理,因为它只处理一个文件。有关更多信息,请参阅配置文件

路由配置

路由配置由 FRR 独立处理,分离于交换机配置。FRR 是一个功能齐全、高性能、免费的软件 IP 路由套件,适用于 Linux 和 Unix 平台,它实现了所有标准路由协议,如BGPRIPOSPFIS-IS等,以及它们的许多扩展。实验室使用 FRR 来实现编号BGP EVPN作为控制平面。

默认情况下,FRR 预先安装在 SONiC 上,并且在交换机引导时可用。

使用 FRR 配置路由有两种方法:

  • 手动编辑配置文件
  • 熟悉VTYSH

VTYSH 使您能够在单个集成 shell 中使用 FRR 提供的所有 CLI 命令。实验室已使用 VTYSH 进行配置。

进入 VTYSH:

admin@leaf01:~$ vtysh

Hello, this is FRRouting (version 8.5.1).
Copyright 1996-2005 Kunihiro Ishiguro, et al.

要进行配置,请输入config 模式

leaf01# configure
leaf01(config)#

然后,输入您的配置:

leaf01(config)# router bgp 65101
leaf01(config-router)# bgp router-id 10.0.0.1
leaf01(config-router)# neighbor 172.16.1.0 remote-as 65199
leaf01(config-router)# address-family ipv4 unicast
leaf01(config-router-af)# neighbor 172.16.1.0 activate
leaf01(config-router-af)# network 10.0.0.1/32
leaf01(config-router-af)# end

要保存配置,请使用write:

leaf01# write
Note: this version of vtysh never writes vtysh.conf

Warning: attempting direct configuration write without watchfrr.
File permissions and ownership may be incorrect, or write may fail.

Building Configuration...
Integrated configuration saved to /etc/frr/frr.conf
[OK]

开始使用

SONiC 得到了一个丰富、活跃的社区的支持,由 NVIDIA 的网络行业专家定期贡献,他们完全致力于进一步发展 SONiC 为所有人提供的开放网络体验。

未来,NVIDIA 计划将带有您自己的 SONiC 图像基础设施到 NVIDIA Air 中,这样您就可以在 NVIDIA Air 提供的免费、方便的环境中充分利用 SONiC 提供的可定制性,同时也会推出常规更新和新功能。

准备好试试 SONiC 了吗?前往 NVIDIA Air,今天就启动属于自己的副本。

 

Tags