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 工作以及他們屬於哪些群體。

虛擬服務器除了被包含在一個特定的端口組之外,還有額外的屬性:名稱、屬性等,這些可以作為將它們轉移到另一個組的標準,比如,當一個虛擬機被重命名或一個額外的標籤出現在它。 思科將此稱為微分段組,儘管總的來說,能夠在同一子網上以 EPG 的形式創建許多安全分段的設計本身也屬於微分段。 好吧,供應商知道得更多。

EPG 本身是純粹的邏輯構造,不依賴於特定的交換機、服務器等,因此您可以用它們做一些事情,並基於它們(應用程序和租戶)進行構造(應用程序和租戶)在普通網絡中很難做到,例如克隆。 因此,假設克隆生產環境以獲得保證與生產環境相同的測試環境非常容易。 您可以手動完成,但通過 API 更好(也更容易)。

總的來說,ACI中的控制邏輯和你平時遇到的完全不一樣
在同一思科的傳統網絡中:軟件界面是主要的,GUI 或 CLI 是次要的,因為它們通過相同的 API 工作。 因此,一段時間後,幾乎所有參與 ACI 的人都開始瀏覽用於管理的對像模型並使某些東西自動化以滿足他們的需要。 最簡單的方法是使用 Python:有方便的現成工具。

承諾抽成

主要問題是 ACI 中的許多事情都以不同的方式完成。 要開始正常使用它,您需要重新訓練。 對於大客戶的網絡運營團隊來說尤其如此,工程師多年來一直根據要求“指定 VLAN”。 事實上,現在 VLAN 不再是 VLAN,而且您不需要手動創建 VLAN 來在虛擬化主機中鋪設新網絡,這徹底顛覆了傳統網絡人員,讓他們堅持使用熟悉的方法。 應該注意的是,Cisco 試圖讓藥丸變甜一點,並在控制器中添加了一個“類似 NXOS”的 CLI,它允許您從類似於傳統交換機的界面進行配置。 但是,為了開始正常使用 ACI,您必須了解它的工作原理。

在價格上,在大中型規模上,ACI網絡其實和傳統網絡在Cisco設備上並沒有什麼區別,因為都是用同樣的交換機搭建的(Nexus 9000可以工作在ACI和傳統模式下,現在已經成為主要的新數據中心項目的“主力軍”)。 但是對於兩個交換機的數據中心來說,控制器和 Spine-Leaf 架構的存在當然會讓他們自己感受到。 最近出現了一個Mini ACI工廠,三個控制器中的兩個被虛擬機代替了。 這減少了成本差異,但它仍然存在。 因此,對於客戶而言,選擇取決於他對安全功能、虛擬化集成、單點控制等的興趣程度。

來源: www.habr.com

添加評論