Cisco ACI 数据中心的网络结构 - 帮助管理员

Cisco ACI 数据中心的网络结构 - 帮助管理员
借助这个神奇的 Cisco ACI 脚本,您可以快速建立网络。

Cisco ACI 数据中心的网络工厂已经存在了五年,但 Habré 并没有真正透露任何关于它的信息,所以我决定稍微修复一下。 我会根据我自己的经验告诉你它是什么,它有什么用,它有什么用处。

它是什么,它来自哪里?

到 2013 年宣布 ACI(以应用程序为中心的基础设施)时,竞争对手同时从三个方面推进数据中心网络的传统方法。

一方面,基于 OpenFlow 的“第一代”SDN 解决方案承诺使网络更加灵活,同时成本更低。 这个想法是将传统上由专有交换机软件完成的决策转移到中央控制器。

该控制器将对发生的一切有一个单一的看法,并在此基础上,在处理特定流的规则级别对所有交换机的硬件进行编程。
另一方面,覆盖网络解决方案使实施必要的连接和安全策略成为可能,而无需对物理网络进行任何更改,从而在虚拟化主机之间建立软件隧道。 这种方法最著名的例子是 Nicira,当时它已经被 VMWare 以 1,26 亿美元的价格收购,并产生了当前的 VMWare NSX。 Nicira 的联合创始人与之前站在 OpenFlow 起源的人是同一个人,现在说为了建立数据中心工厂 OpenFlow 不适合.

最后,公开市场上可用的交换芯片(所谓的商用芯片)已经达到成熟阶段,它们已成为对传统交换机制造商的真正威胁。 如果说早前各厂商的交换机芯片都是自主研发的话,那么随着时间的推移,以博通为主的第三方厂商芯片开始在功能上拉近与厂商芯片的距离,在性价比上超越厂商芯片。 因此,许多人认为他们自己设计的芯片开关的日子屈指可数。

ACI 已经成为思科对上述所有情况的“不对称反应”(更准确地说,它的 Insieme 公司,由其前雇员创立)。

与 OpenFlow 有什么区别?

在功能分布上,ACI其实和OpenFlow正好相反。
在OpenFlow架构中,controller负责编写详细的规则(flows)
在所有交换机的硬件中,即在一个大型网络中,它可能负责维护,最重要的是,它负责更改网络中数百个点的数千万条记录,因此其性能和可靠性成为网络中的瓶颈。大实施。

ACI 使用相反的方法:当然,还有一个控制器,但是交换机从它那里接收高级声明策略,并且交换机本身将它们呈现为硬件中特定设置的细节。 控制器可以重新启动或完全关闭,网络不会发生任何不良情况,当然,除了此时缺少控制。 有趣的是,在 ACI 中仍然使用 OpenFlow 的情况,但在主机本地用于 Open vSwitch 编程。

ACI 完全建立在基于 VXLAN 的覆盖传输之上,但将底层 IP 传输作为单个解决方案的一部分。 思科将此称为“集成覆盖”术语。 作为 ACI 中覆盖的终结点,在大多数情况下,使用工厂交换机(它们以链路速度执行此操作)。 主机不需要了解工厂、封装等任何信息,但是在某些情况下(例如,连接 OpenStack 主机),可以为它们带来 VXLAN 流量。

覆盖在 ACI 中不仅用于通过传输网络提供灵活的连接,而且用于传输元信息(例如,它用于应用安全策略)。

Broadcom的芯片之前被Cisco用在了Nexus 3000系列交换机上,在Nexus 9000家族中,专门发布支持ACI的,最初实现的是混合模式,叫做Merchant+。 该交换机同时使用了新的 Broadcom Trident 2 芯片和 Cisco 开发的互补芯片,后者实现了 ACI 的所有魔力。 显然,这可以加快产品的发布速度,并将交换机的价格标签降低到接近仅基于 Trident 2 的型号的水平。这种方法对于 ACI 交付的前两三年就足够了。 在此期间,思科在自己的芯片上开发并推出了下一代 Nexus 9000,具有更多的性能和功能集,但价格水平相同。 完全保留了工厂交互方面的外部规范。 同时,内部填充也完全改变了:有点像重构,但是是铁。

思科 ACI 架构的工作原理

在最简单的情况下,ACI 建立在 Klose 网络的拓扑结构上,或者,正如他们常说的,Spine-Leaf。 主干级交换机可以从两个(或者一个,如果我们不关心容错)到六个。 因此,它们越多,容错性越高(发生事故或维护一个 Spine 时带宽和可靠性降低越低)和整体性能。 所有外部连接都进入叶级交换机:这些是服务器,通过 L2 或 L3 与外部网络对接,并连接 APIC 控制器。 一般来说,有了 ACI,不仅是配置,还有统计收集、故障监控等等——一切都是通过控制器的接口来完成的,其中标准尺寸的实现有 XNUMX 个。

您永远不必使用控制台连接到交换机,甚至启动网络:控制器本身检测交换机并从中组装工厂,包括所有服务协议的设置,因此,顺便说一句,非常重要在安装过程中记下正在安装的设备的序列号,这样您以后就不必猜测哪个交换机位于哪个机架中。 对于故障排除,如有必要,您可以通过 SSH 连接到交换机:它们非常仔细地复制了常用的 Cisco show 命令。

工厂内部采用IP传输,没有Spanning Tree等过去的恐怖:所有链路都参与进来,故障收敛非常快。 Fabric中的流量通过基于VXLAN的隧道传输。 更准确地说,Cisco自己称之为iVXLAN封装,它与常规VXLAN的不同之处在于网络头中的保留字段用于传输服务信息,主要是关于流量与EPG组的关系。 这允许您在设备中的组之间实施交互规则,使用它们的编号的方式与在普通访问列表中使用地址的方式相同。

隧道允许通过内部 IP 传输扩展 L2 段和 L3 段(即 VRF)。 在这种情况下,默认网关是分布式的。 这意味着每个交换机负责路由进入结构的流量。 在流量逻辑方面,ACI 类似于 VXLAN/EVPN 交换矩阵。

如果是这样,有什么区别? 其他一切!

您遇到的 ACI 的第一个区别是服务器连接到网络的方式。 在传统网络中,物理服务器和虚拟机都包含在 VLAN 中,其他一切都从它们开始:连接性、安全性等。在 ACI 中,使用了思科称为 EPG(端点组)的设计,从中无处可逃。 是否可以等同于VLAN? 是的,但在这种情况下,有可能失去 ACI 提供的大部分内容。

对于EPG,制定了所有的访问规则,而在ACI中,默认采用“白名单”原则,即只允许明确允许通过的流量。 也就是说,我们可以创建“Web”和“MySQL”EPG 组,并定义一个规则,只允许它们之间在端口 3306 上进行通信。这将在不绑定网络地址甚至在同一子网内的情况下工作!

我们有一些客户正是因为此功能而选择了 ACI,因为它允许您限制服务器之间的访问(虚拟或物理 - 这无关紧要),而无需在子网之间拖动它们,这意味着无需触及寻址。 是的,是的,我们知道没有人在应用程序配置中手动规定 IP 地址,对吧?

ACI 中的流量规则称为契约。 在这样的合同中,多层应用程序中的一个或多个组或级别成为服务提供者(例如,数据库服务),其他人成为消费者。 合约可以简单地传递流量,也可以做一些更棘手的事情,例如,将其定向到防火墙或平衡器,还可以更改 QoS 值。

服务器如何进入这些组? 如果这些是物理服务器或包含在我们创建了 VLAN 中继的现有网络中的东西,那么为了将它们放置在 EPG 中,您将需要指向交换机端口和在其上使用的 VLAN。 如您所见,VLAN 出现在您离不开它们的地方。

如果服务器是虚拟机,那么参考连接的虚拟化环境就足够了,然后一切都会自己发生:将创建一个端口组(在 VMWare 方面)来连接 VM,必要的 VLAN 或 VXLAN 将分配后,它们将在必要的交换机端口等上注册。因此,尽管 ACI 是围绕物理网络构建的,但虚拟服务器的连接看起来比物理服务器的连接简单得多。 ACI 已经内置了与 VMWare 和 MS Hyper-V 的连接,并支持 OpenStack 和 RedHat Virtualization。 从某个时候开始,也出现了对容器平台的内置支持:Kubernetes、OpenShift、Cloud Foundry,同时它涉及到策略的应用和监控,即网络管理员可以立即看到哪些主机上哪些 pod 工作以及他们属于哪些群体。

虚拟服务器除了被包含在一个特定的端口组之外,还有额外的属性:名称、属性等,这些可以作为将它们转移到另一个组的标准,比如,当一个虚拟机被重命名或一个额外的标签出现在它。 Cisco 将此称为微分段组,尽管总的来说,能够在同一子网上以 EPG 形式创建许多安全分段的设计本身也是一个微分段。 好吧,供应商知道得更多。

EPG 本身是纯粹的逻辑构造,不依赖于特定的交换机、服务器等,因此您可以用它们做一些事情,并基于它们(应用程序和租户)进行构造(应用程序和租户)在普通网络中很难做到,例如克隆。 因此,假设克隆生产环境以获得保证与生产环境相同的测试环境非常容易。 您可以手动完成,但通过 API 更好(也更容易)。

总的来说,ACI中的控制逻辑和你平时遇到的完全不一样
在同一思科的传统网络中:软件界面是主要的,GUI 或 CLI 是次要的,因为它们通过相同的 API 工作。 因此,一段时间后,几乎所有参与 ACI 的人都开始浏览用于管理的对象模型并使某些东西自动化以满足他们的需要。 最简单的方法是使用 Python:有方便的现成工具。

承诺抽成

主要问题是 ACI 中的许多事情都以不同的方式完成。 要开始正常使用它,您需要重新训练。 对于大客户的网络运营团队来说尤其如此,工程师多年来一直根据要求“指定 VLAN”。 事实上,现在 VLAN 不再是 VLAN,而且您不需要手动创建 VLAN 来在虚拟化主机中铺设新网络,这彻底颠覆了传统网络人员,让他们坚持使用熟悉的方法。 应该注意的是,思科试图让药丸变甜一点,并在控制器中添加了一个“类似 NXOS”的 CLI,它允许您从类似于传统交换机的界面进行配置。 但是,为了开始正常使用 ACI,您必须了解它的工作原理。

在价格上,在大中型规模上,ACI网络其实和传统网络在Cisco设备上并没有什么区别,因为都是用同样的交换机搭建的(Nexus 9000可以工作在ACI和传统模式下,现在已经成为主要的新数据中心项目的“主力军”)。 但是对于两个交换机的数据中心来说,控制器和 Spine-Leaf 架构的存在当然会让他们自己感受到。 最近出现了一个Mini ACI工厂,三个控制器中的两个被虚拟机代替了。 这减少了成本差异,但仍然存在。 因此,对于客户而言,选择取决于他对安全功能、虚拟化集成、单点控制等的兴趣程度。

来源: habr.com

添加评论