重生的 SDN?云原生网络功能介绍( 二 )


云原生轨迹图在一定程度上描述了云原生应用程序的成熟度 。当我们深入研究云原生化道路上的某一站时,事情会变得更加复杂,就像网络、策略和安全性一样 。这就是说,帮助你走向云原生的工具中有一种原生云自反性 。如果讲这些也应用在云原生网络功能上,那么我们最终必须像其他云原生应用程序一样实现网络功能 。总结如下 。
第 1 步从粗粒度的部署开始,通常用容器来实现 。
第 2 步是使用无状态和声明式配置将服务或应用程序部署到 CI/CD 管道中 。
第 3 步是支持部署在同构节点上的编配器(例如 K8s),用于管理服务的生命周期 。
第 4 步确保网络功能具有遥测功能,包括指标(例如,Prometheus)、跟踪(例如,Jaeger)和兼容事件流的日志(例如,Fluentd) 。
云原生成熟度的第 5 个步骤是服务发现,集群内部甚至外部的其他消费者可以用它来发现网络服务 。
为了方便声明式配置,第 6 步概述了策略的重要性,特别是网络和安全策略 。
第 7 步是分布式存储,适用于使用有状态工作负载的地方,以确保兼容云原生环境 。
云原生消息传递、注册表、运行时和软件分发是云原生成熟度的其他阶段,这些阶段将完成应用程序的整个旅程 。
4
CNF 数据平面
有了 CNF,数据平面【脚注 8】(也称为转发平面)更进一步地远离了传统硬件 。由于云原生更重视横向扩展而不是垂直扩展,这意味着拥有更多同构商业化节点比拥有更少的异构专门节点更可取 。正因为如此,出现了一种使用商业化服务器来取代专用网络交换机 ASIC 的呼声 。这样做的一个好处是出现了一种支持更敏捷的变更速度的数据平面 。SDN 数据平面(这里我们讨论的是真正转发数据包的东西)位于硬件 ASIC 或传统内核网络转发的虚拟机上,而 CNF 已经开始探索像用户数据平面(例如 VPP)、带有快速数据路径(XDP)的扩展 Berkeley 包过滤器(eBPF)和 SmartNIC 转发等技术 。
5
Layer 3 提升
云原生数据中心偏向于 Layer 3 解决方案 。能够声明式地指定和自动化 Layer 3 网络配置已经成为 Kubernetes 网络模型发展中的一个决定性因素 。这些新的云原生网络依赖 IP 地址来连接集群的节点和应用程序,而不是 Layer 2 的 mac 和 VLAN 。然而,这是编配器及其应用程序的主要关注点 。数据中心有多个移动部件,它们具有不同的变化速度 。这三个层是这样的:在编配器之下(例如网络操作系统 SONIC、配置工具 Terraform)、在编配器中(例如 Kubernetes)、在编配器之上但在容器中(例如 CNF) 。编配器之下的网络基础设施结构,例如数据中心中的机架顶部交换机,仍然具有 Layer 2 配置 。电信领域是采用 CNF 的一个重要驱动因素,它仍然不可避免地继续使用 Layer 2,例如多协议标签交换(MPLS) 。Layer 2 的故事仍在通过新的交换软件(如 SONiC)实现来续写 。
6
结论
网络的配置、部署和自动化是难以实现弹性(云原生环境的一个主要部分)的部分原因 。这可能是影响向超规模(如 Amazon)迁移的决定性因素,即使可以保证更定制化的部署 。这与电信领域尤其相关,因为他们可能希望为企业客户提供自定义网络协议支持(例如,MPLS) 。云原生网络功能根据变化速率解耦网络功能,细化到粗粒度镜像和进程(例如容器)级别,解决了这些部署问题 。这避免了网络容易出现的同步部署问题 。
CNF 是一种网络功能,传统上被认为是位于 OSI 网络栈上的功能,只是在实现方面遵循了与云原生生态系统耦合的云原生实践 。网络,尤其是电信网络,有很长一段非功能性需求的历史,比如弹性 。电信服务供应商以 911 呼叫系统为例,它就是一个要求极端弹性和可用性的关键任务系统 。即便如此,云原生生态系统的非功能属性已经引起了服务供应商的注意 。这些属性,例如可用性(云原生类型)、易于部署和弹性,已经促使电信服务供应商向电信设备供应商(物理和软件)施加压力,要求它们更多地采用云原生 。这要求这些新的网络组件遵循云原生基础设施最佳实践,以便在云原生生态系统中成为成熟的解决方案 。但这并不容易,因为对于具有高性能要求的传统紧耦合组件(如网络数据平面)来说,要将它们解耦是非常困难的 。
CNF 数据平面是一项正在进行当中的工作,有许多解决方案 。光是数据平面概念就足以让 CNF 变得难以理解,因为 CNF 不仅仅是一个物理服务器的虚拟化表示 。简单地说,云原生数据中心中的网络连接可以通过专注于默认的内核网络和 Layer 3 IP4/IP6 网络来避免这种复杂性 。这对于电信来说通常是不可行的 。这些问题是解耦网络软件的自然进程的一部分,所以没有办法避免它们 。如果 CNF 做得好,就能达到以前没有达到的更高水平的可部署性、弹性、易于配置和弹性 。


推荐阅读