网络工程师巨震:CI/CD+Air,自动化效率暴涨!

2025-07-31前沿技术

Image

持续集成和持续交付/部署(CI/CD)是一套现代软件开发实践,旨在更可靠、更频繁地交付代码变更。 尽管CI/CD在软件领域已被广泛采用,但随着网络变得自动化和软件驱动,它对于网络工程师来说也变得越来越重要。 在本文中,我们将简要介绍CI/CD,并说明网络工程师如何将这些实践用于网络自动化,尤其是在使用Cumulus Linux和使用NVIDIA Air数字孪生平台进行模拟时。

什么是CI/CD流水线?

CI/CD流水线可自动化软件交付过程。 它确保代码以可重复且可扩展的方式在各种环境中经过测试、验证和部署。 该流水线集成了:

  • 持续集成(CI): 频繁合并和测试代码。
  • 持续交付/部署(CD): 在测试、暂存和生产环境中自动打包和部署代码。

对于网络工程师而言,这意味着可以更高效、更可靠地部署网络配置和自动化脚本。

网络为何要采用CI/CD?

借助像Cumulus Linux这样的网络操作系统,由于其Linux基础,它本身就支持自动化和脚本编写,因此网络自动化可以采用与软件工程中相同的原则。 为什么这很重要?

  • 速度: 更快地迭代和部署变更。
  • 质量: 自动化Linting和验证可减少错误。
  • 可靠性: 一致的流程意味着生产中的意外更少。
  • 可扩展性: 轻松支持不断增长的基础设施和用例。

CI/CD在网络自动化中的应用

让我们看看网络工程师如何在实践中应用CI/CD概念。

代码提交: 将配置视为代码

如果我们将网络配置视为代码,则自动化脚本或拓扑配置之类的更改将经过版本控制(例如,Git)。 这使得更改像任何软件开发工作流一样,可跟踪、可审查和可测试。 通过接受作为代码更改的配置更改,网络团队可以直接集成到DevOps工作流中,从而提高可见性和治理能力。

持续集成(CI)

CI会自动验证代码更改是否有效且可构建。 对于网络用例:

  • 构件可以是自动化脚本、容器镜像或呈现的配置文件。
  • Linting和格式检查可确保YAML、JSON或Jinja2模板在语法上正确且一致。
  • 新媒网跨境了解到,不要手动创建静态配置文件,而应使用Jinja2模板根据拓扑、节点角色或功能等变量动态生成配置。 这可以最大程度地减少人为错误并提高灵活性。

持续交付(CD)

CD可自动将验证的配置部署到测试和生产环境。 例如:

  • 呈现的配置使用自动化工具和脚本进行部署。
  • 日志记录和调试挂钩应构建到流水线中,以尽早发现错误。
  • 运行状况检查和验证可以确认配置已成功部署在所有网络节点上。

虽然我们不会在本文中深入探讨构建流水线的全部详细信息(例如,使用GitLab),但重要的是要强调GitLab CI/CD设置中的关键配置文件是.gitlab-ci.yml文件。 此YAML格式的文件定义了流水线的运行方式,指定了阶段、作业和执行逻辑。 它告诉GitLab如何协调配置呈现、测试、验证和部署等任务。 因为此文件充当整个自动化工作流的蓝图,所以务必了解如何正确构造它以及正确定义任务参数。 在本系列的下一篇文章中,我们将仔细研究如何有效地编写和管理.gitlab-ci.yml文件以进行网络自动化。

自动化测试和验证

CI/CD流水线可以通过以下方式包括自动化验证:

  • 跨设备运行show命令。
  • 解析输出以检查成功标准(例如,接口已启动、已建立BGP邻居)。
  • 在失败的部署到达生产环境之前对其进行标记。

这提供了有关网络运行状况的持续反馈,并防止错误配置传播。

将CI/CD与NVIDIA Air结合使用

NVIDIA Air数字孪生平台是用于现代数据中心的高级仿真环境。 它可以使用Cumulus Linux、SONIC来模拟复杂的网络,并且可以模拟主机操作系统。 用户可以使用以下方式构建拓扑:

  • 图形工具(拖放)。
  • JSON/DOT文件(用于以编程方式创建)。

虽然手动设置适用于常规用例并且非常直观,但CI/CD流水线为快速迭代、验证和共享提供了更专业的工作流。

使用API自动执行NVIDIA AIR:

  • 用于低级自动化的REST API
  • Python SDK,它包装了API并提供了自动化友好的抽象

使用任一方法,流水线都可以:

  • 启动拓扑。
  • 注入配置。
  • 触发验证脚本。
  • 销毁和重建实验室以实现可重复性。

CI/CD和NVIDIA Air的实际用例

网络工程师可以将CI/CD与NVIDIA Air结合使用,以实现:

  • 配置集成: 将配置生成直接绑定到自动化流水线。
  • 研讨会和演示: 自动生成一致的、可重现的实验室,用于研讨会、培训或演示。
  • 合作伙伴解决方案: 创建可共享的模板,这些模板可以将自定义拓扑交付给客户或合作伙伴。
  • 自动化测试: 通过零人工干预快速验证各种拓扑中的更改。

NVIDIA Air上数据中心仿真环境的CI/CD流水线示例

以下是我们开发团队提供的有关使用NVIDIA Air的CI/CD流水线的实际示例,该流水线模拟了数据中心用例:

  1. 从其来源提取相关存储库: 有多个git存储库用于各种目的(AIR自动化代码,网络配置呈现存储在单独的存储库中),此作业从存储库中提取所有来源,包括拓扑文件和配置文件,jinja2模板。
  2. 运行一些配置文件语法/格式检查: 我们需要验证拓扑文件是否符合格式要求并且可以由Air API解析。
  3. 创建拓扑作为AIR仿真: 我们从dot或json文件创建一个AIR拓扑。
  4. 配置拓扑参数: 修改拓扑参数,例如组织选择或仿真到期。
  5. 启动仿真并配置网络设备和服务器: 我们启动AIR仿真,使用API调用,并将呈现的配置文件复制到网络设备和服务器。
  6. 使用各种show命令和ping测试验证拓扑: 验证拓扑是否正确以检查布线是否符合设计。
  7. 保存所有内容并关闭仿真: 保存仿真以供以后使用并将其关闭。

结论

CI/CD流水线是软件工程中的标准工具,现在是网络自动化的重要组成部分。 借助Cumulus Linux和NVIDIA Air之类的平台,网络工程师可以将相同的敏捷性、可靠性和效率引入到他们的运营中。 通过将CI/CD最佳实践与强大的仿真工具相结合,我们可以交付高度可扩展、无错误且快速的网络部署,无论是在虚拟实验室还是在生产数据中心中。

新媒网跨境认为,CI/CD在网络自动化领域的应用,将极大地提升网络部署和管理的效率与质量。

了解更多

  • NVIDIA Air简介
  • 使用NVIDIA Air服务将仿真与现实世界联系起来
  • NVIDIA Air中可扩展的自定义网络拓扑的外部文件上传的优势
  • 使用Ansible和Git在NVIDIA Air中自动执行网络设计
  • NVIDIA Air文档
  • NVIDIA Cumulus Linux数据表
  • NVIDIA Cumulus Linux文档

新媒网(公号: 新媒网跨境发布),是一个专业的跨境电商、游戏、支付、贸易和广告社区平台,为百万跨境人传递最新的海外淘金精准资讯情报。

本文来源:新媒网 https://nmedialink.com/posts/8228.html

评论(0)

暂无评论,快来抢沙发~
CI/CD是现代软件开发实践,对于网络工程师也越来越重要。本文介绍了CI/CD在网络自动化中的应用,尤其是在使用Cumulus Linux和NVIDIA Air数字孪生平台进行模拟时,可以提高网络部署和管理的效率与质量。
发布于 2025-07-31
查看人数 1219
人民币汇率走势
CNY
关注我们
新媒网跨境发布
本站原创内容版权归作者及NMedia共同所有,未经许可,禁止以任何形式转载。