溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Tungsten Fabric架構(gòu)解析丨Tungsten F

發(fā)布時(shí)間:2020-02-15 16:33:44 來源:網(wǎng)絡(luò) 閱讀:312 作者:TF中文社區(qū) 欄目:網(wǎng)絡(luò)管理

Hi!這里是Tungsten Fabric架構(gòu)解析內(nèi)容的第七篇,介紹TF如何為OpenStack、Kubernetes、VMware vCenter等各種編排器提供虛擬網(wǎng)絡(luò)。
Tungsten Fabric架構(gòu)解析系列文章,由TF中文社區(qū)為你呈現(xiàn),旨在幫助初入TF社區(qū)的朋友答疑解惑。我們將系統(tǒng)介紹TF有哪些特點(diǎn)、如何運(yùn)作、如何收集/分析/部署、如何編排、如何連接到物理網(wǎng)絡(luò)等話題。

OpenStack和TF集成

OpenStack是虛擬機(jī)和容器的領(lǐng)先的開源編排系統(tǒng)。Tungsten Fabric提供了Neutron網(wǎng)絡(luò)服務(wù)的實(shí)現(xiàn),并提供了許多附加功能。

在OpenStack中,用戶組被分配到“項(xiàng)目”,其中諸如VM和網(wǎng)絡(luò)之類的資源是私有的,并且其他項(xiàng)目中的用戶無法看到(除非特別啟用)。

在vRouters中使用VRF且每個(gè)網(wǎng)絡(luò)都有路由表,可以直接在網(wǎng)絡(luò)層中實(shí)施項(xiàng)目隔離,因?yàn)橹挥械皆试S目的地的路由才會(huì)分發(fā)到計(jì)算節(jié)點(diǎn)上的vRouters中的VRF,并且不會(huì)發(fā)生泛洪vRouter執(zhí)行的代理服務(wù)。

網(wǎng)絡(luò)服務(wù)是Neutron,計(jì)算代理是Nova(OpenStack計(jì)算服務(wù))。

當(dāng)兩者都部署在OpenStack環(huán)境中時(shí),Tungsten Fabric可以在VM和Docker容器之間提供無縫網(wǎng)絡(luò)。

在下圖中,可以看到OpenStack的Tungsten Fabric插件提供了從Neutron網(wǎng)絡(luò)API到Tungsten Fabric API調(diào)用的映射,后者在Tungsten Fabric控制器中執(zhí)行。
Tungsten Fabric架構(gòu)解析丨Tungsten F

Tungsten Fabric支持網(wǎng)絡(luò)和子網(wǎng)的策略,以及OpenStack網(wǎng)絡(luò)策略和安全組??梢栽贠penStack或Tungsten Fabric中創(chuàng)建這些實(shí)體,并且在兩個(gè)系統(tǒng)之間同步任何更改。

此外,Tungsten Fabric還支持OpenStack LBaaS v2 API。

但是,由于Tungsten Fabric通過OpenStack提供了豐富的網(wǎng)絡(luò)功能超集,因此許多網(wǎng)絡(luò)功能僅通過Tungsten Fabric API或GUI提供。這些包括指定route target以實(shí)現(xiàn)與外部路由器的連接、服務(wù)鏈、配置BGP路由策略和應(yīng)用程序策略。

當(dāng)OpenStack使用Tungsten Fabric網(wǎng)絡(luò)時(shí),完全支持應(yīng)用程序安全性??梢栽陧?xiàng)目、網(wǎng)絡(luò)、主機(jī)、VM或接口級別應(yīng)用Tungsten Fabric標(biāo)記,并應(yīng)用于標(biāo)記對象中包含的所有實(shí)體。

此外,Tungsten Fabric還支持用于網(wǎng)絡(luò)和安全性的資源,可以使用OpenStack Heat模板進(jìn)行控制。

Kubernetes容器和TF集成

容器允許多個(gè)進(jìn)程在同一操作系統(tǒng)內(nèi)核上運(yùn)行,但每個(gè)進(jìn)程都可以訪問自己的工具、庫和配置文件。

與每個(gè)VM運(yùn)行其自己的完整客戶機(jī)操作系統(tǒng)的虛擬機(jī)相比,容器需要更少的計(jì)算開銷。在容器中運(yùn)行的應(yīng)用程序通常啟動(dòng)速度更快,并且比在VM中運(yùn)行的相同應(yīng)用程序執(zhí)行得更好,這也是為什么人們越來越關(guān)注在數(shù)據(jù)中心和NFV中使用容器的原因之一。

Docker是一個(gè)軟件層,它使容器可以跨操作系統(tǒng)版本移植,并且Kubernetes作為部署容器的典型接口,管理服務(wù)器上容器的創(chuàng)建和銷毀。

Tungsten Fabric架構(gòu)解析丨Tungsten F

如上圖所示,Kubernetes管理容器組,它們共同執(zhí)行某些功能,稱為_pods. pod中的容器在同一服務(wù)器上運(yùn)行并共享IP地址。

一組相同的pod(通常在不同的服務(wù)器上運(yùn)行)形成services,并且必須將指向服務(wù)的網(wǎng)絡(luò)流量定向到服務(wù)中的特定pod。在Kubernetes網(wǎng)絡(luò)實(shí)現(xiàn)中,特定pod的選擇是由應(yīng)用程序本身使用發(fā)送pod中的本機(jī)Kubernetes API來執(zhí)行的。對于非本機(jī)應(yīng)用程序,是由負(fù)載平衡代理使用中實(shí)現(xiàn)的虛擬IP地址,來執(zhí)行發(fā)送服務(wù)器上的Linux iptables。

大多數(shù)應(yīng)用程序都是非本機(jī)的,因?yàn)樗鼈兪窃谖纯紤]Kubernetes的情況下開發(fā)的現(xiàn)有代碼的端口,因此使用了負(fù)載平衡代理。

Kubernetes環(huán)境中的標(biāo)準(zhǔn)網(wǎng)絡(luò)實(shí)際上是扁平的,任何pod都可以與任何其他pod進(jìn)行通信。如果目標(biāo)pod的名稱或其IP地址是已知的,則不會(huì)阻止從一個(gè)命名空間(類似于_project _in OpenStack)中的pod到另一個(gè)命名空間中的pod之間的通信。

雖然此模型適用于屬于單個(gè)公司的超大規(guī)模數(shù)據(jù)中心,但它不適合數(shù)據(jù)中心在許多最終客戶之間共享的服務(wù)提供商,也不適合必須將不同組的流量彼此隔離的企業(yè)。

Tungsten Fabric虛擬網(wǎng)絡(luò)可以集成在Kubernetes環(huán)境中,以與OpenStack類似的方式提供一系列多租戶網(wǎng)絡(luò)功能。

帶有Kubernetes的Tungsten Fabric 配置如下圖所示。
Tungsten Fabric架構(gòu)解析丨Tungsten F

使用Kubernetes編排和Docker容器的Tungsten Fabric架構(gòu)類似于OpenStack和KVM / QEMU,其vRouter在主機(jī)Linux OS中運(yùn)行,并包含帶有虛擬網(wǎng)絡(luò)轉(zhuǎn)發(fā)表的VRF。

pod中的所有容器共享一個(gè)具有單個(gè)IP地址的網(wǎng)絡(luò)堆棧(圖中的IP-1,IP-2),但是偵聽不同的TCP或UDP端口,并且每個(gè)網(wǎng)絡(luò)堆棧的接口連接到vRouter的VRF。

一個(gè)名為_kube-network-manager _listens的進(jìn)程使用Kubernetes _k8s _API偵聽與網(wǎng)絡(luò)相關(guān)的消息,并將這些消息發(fā)送到Tungsten Fabric API。

在服務(wù)器上創(chuàng)建pod時(shí),本地_kubelet _和vRouter代理之間通過Container Network Interface(CNI)進(jìn)行通信,以將新接口連接到正確的VRF。

服務(wù)中的每個(gè)pod在虛擬網(wǎng)絡(luò)中分配唯一的IP地址,并且還為服務(wù)中的所有pods分配浮動(dòng)IP地址。服務(wù)地址用于將流量從其他服務(wù)中的pod或外部客戶端或服務(wù)器發(fā)送到服務(wù)中。

當(dāng)流量從pod發(fā)送到服務(wù)IP時(shí),連接到該pod的vRouter將使用到服務(wù)IP地址的路由執(zhí)行ECMP負(fù)載平衡,該服務(wù)IP地址將解析為構(gòu)成目標(biāo)服務(wù)的各個(gè)pod的接口。

當(dāng)流量需要從Kubernetes集群外部發(fā)送到服務(wù)IP時(shí),可以將Tungsten Fabric配置為創(chuàng)建一對(用于冗余)_ha-proxy_負(fù)載均衡器,它可以執(zhí)行基于URL的路由到Kubernetes服務(wù),最好使用浮動(dòng)IP地址避免暴露集群的內(nèi)部IP地址。

這些外部可見的服務(wù)地址解析為到服務(wù)Pod的ECMP負(fù)載平衡路由。
。
在Kubernetes集群中使用Tungsten Fabric虛擬網(wǎng)絡(luò)時(shí),不需要Kubernetes代理負(fù)載均衡。

提供外部訪問的其他替代方法包括:使用與負(fù)載均衡器對象關(guān)聯(lián)的浮動(dòng)IP地址,或使用與服務(wù)關(guān)聯(lián)的浮動(dòng)IP地址。

在Kubernetes中創(chuàng)建或刪除服務(wù)和pod時(shí),kube-network-manager進(jìn)程會(huì)檢測k8s API中的相應(yīng)事件,并使用Tungsten Fabric API根據(jù)為Kubernetes群集配置的網(wǎng)絡(luò)模式應(yīng)用網(wǎng)絡(luò)策略。 各種選項(xiàng)總結(jié)在下表中。
Tungsten Fabric架構(gòu)解析丨Tungsten F

Tungsten Fabric為Kubernetes世界帶來了許多強(qiáng)大的網(wǎng)絡(luò)功能,與OpenStack的功能相同,包括:

  • ?IP地址管理
  • ?DHCP
  • ?DNS
  • ?負(fù)載均衡
  • ?網(wǎng)絡(luò)地址轉(zhuǎn)換(1:1浮動(dòng)IP和N:1 SNAT)
  • ?訪問控制列表
  • ?基于應(yīng)用程序的安全性

TF和vCenter集成{#tf-vcenter}

VMware vCenter廣泛用作虛擬化平臺,但需要手動(dòng)配置網(wǎng)絡(luò)網(wǎng)關(guān),以實(shí)現(xiàn)位于不同子網(wǎng)中的虛擬機(jī)與vCenter群集外部目標(biāo)之間的網(wǎng)絡(luò)連接。

可以在現(xiàn)有vCenter環(huán)境中部署Tungsten Fabric虛擬網(wǎng)絡(luò),以提供先前列出的所有網(wǎng)絡(luò)功能,同時(shí)保留用戶可能依賴的工作流,以使用vCenter GUI和API創(chuàng)建和管理虛擬機(jī)。

此外,還在vRealize Orchestrator和vRealize Automation中實(shí)現(xiàn)了對Tungsten Fabric的支持,以便Tungsten Fabric中的常見任務(wù)(如創(chuàng)建虛擬網(wǎng)絡(luò)和網(wǎng)絡(luò)策略)可以包含在這些工具中實(shí)現(xiàn)的工作流中。

使用VMware vCenter的Tungsten Fabric架構(gòu)如下圖所示。
Tungsten Fabric架構(gòu)解析丨Tungsten F

虛擬網(wǎng)絡(luò)和策略可以在Tungsten Fabric中直接創(chuàng)建,也可以在vRO / vRA工作流程中使用TF任務(wù)創(chuàng)建。

當(dāng)vCenter使用其GUI或vRO / vRA創(chuàng)建VM時(shí),Tungsten Fabric的vCenter插件將在vCenter消息總線上看到相應(yīng)的消息,這是Tungsten Fabric在服務(wù)器(將要?jiǎng)?chuàng)建VM的服務(wù)器)上配置vRouter的觸發(fā)器。

每個(gè)VM的每個(gè)接口都連接到一個(gè)端口組,該端口組對應(yīng)于該接口所在的虛擬網(wǎng)絡(luò)。端口組具有與之關(guān)聯(lián)的VLAN,由Tungsten Fabric控制器使用vCenter中的“VLAN override”選項(xiàng)設(shè)置,并且端口組的所有VLAN都通過中繼端口組發(fā)送到vRouter。

Tungsten Fabric控制器將接口的VLAN映射到包含該子網(wǎng)的虛擬網(wǎng)絡(luò)的VRF上。剝離VLAN標(biāo)記,并執(zhí)行VRF中的路由查找。

如本文檔前面所述,通過Tungsten Fabric與vCenter的配合使用,用戶可以訪問Tungsten Fabric提供的全部網(wǎng)絡(luò)和安全服務(wù),包括零信任微分段,代理DHCP,DNS和DHCP,可避免網(wǎng)絡(luò)泛洪,服務(wù)鏈,幾乎無限的規(guī)模,以及與物理網(wǎng)絡(luò)的無縫互連。

###嵌套的Kubernetes與OpenStack或vCenter {#tf-nested-kubernetes}

假設(shè)已經(jīng)通過某種方式預(yù)先配置了運(yùn)行容器的KVM主機(jī)。

還有一種替代方法,是使用OpenStack或vCenter來配置容器運(yùn)行的VM,并使用Tungsten Fabric管理OpenStack或vCenter創(chuàng)建的VM與Kubernetes創(chuàng)建的容器之間的虛擬網(wǎng)絡(luò),如下圖所示。
Tungsten Fabric架構(gòu)解析丨Tungsten F

編排器(OpenStack或vCenter),Kubernetes Master和Tungsten Fabric在一組服務(wù)器或VM中運(yùn)行。

編排器配置為使用Tungsten Fabric管理計(jì)算群集,因此每臺服務(wù)器上都有vRouters。

可以將虛擬機(jī)啟動(dòng)并配置為運(yùn)行Kubelet和Tungsten Fabric的CNI插件。這些虛擬機(jī)可供Kubernetes主機(jī)運(yùn)行,并通過Tungsten Fabric管理網(wǎng)絡(luò)。

由于同一個(gè)Tungsten Fabric負(fù)責(zé)管理orchestrator和Kubernetes的網(wǎng)絡(luò),因此可以在VM之間,容器之間,以及VM和容器之間實(shí)現(xiàn)無縫聯(lián)網(wǎng)。

在嵌套場景中,Tungsten Fabric提供與前面所述相同的隔離級別,并且多個(gè)Kubernetes Masters可以共存,并且運(yùn)行Kubelet的多個(gè)VM可以在同一主機(jī)上運(yùn)行。 這允許提供多租戶Kubernetes容器服務(wù)。


MORE
更多Tungsten Fabric解析文章

第一篇:TF主要特點(diǎn)和用例
第二篇:TF怎么運(yùn)作
第三篇:詳解vRouter體系結(jié)構(gòu)
第四篇:TF的服務(wù)鏈
第五篇:vRouter的部署選項(xiàng)
第六篇:TF如何收集、分析、部署?

關(guān)于Tungsten Fabric:
Tungsten Fabric項(xiàng)目是一個(gè)開源項(xiàng)目協(xié)議,它基于標(biāo)準(zhǔn)協(xié)議開發(fā),并且提供網(wǎng)絡(luò)虛擬化和網(wǎng)絡(luò)安全所必需的所有組件。項(xiàng)目的組件包括:SDN控制器,虛擬路由器,分析引擎,北向API的發(fā)布,硬件集成功能,云編排軟件和廣泛的REST API。

關(guān)于TF中文社區(qū):
TF中文社區(qū)由中國的一群關(guān)注和熱愛SDN的志愿者自發(fā)發(fā)起,有技術(shù)老鳥,市場老炮,也有行業(yè)專家,資深用戶。將作為連接社區(qū)與中國的橋梁,傳播資訊,提交問題,組織活動(dòng),聯(lián)合一切對多云互聯(lián)網(wǎng)絡(luò)有興趣的力量,切實(shí)解決云網(wǎng)絡(luò)建設(shè)過程中遇到的問題。

Tungsten Fabric架構(gòu)解析丨Tungsten F
關(guān)注微信:TF中文社區(qū)
Tungsten Fabric架構(gòu)解析丨Tungsten F

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI