您好,登錄后才能下訂單哦!
小編給大家分享一下OpenStack和TF集成的示例分析,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
OpenStack是虛擬機(jī)和容器的領(lǐng)先的開(kāi)源編排系統(tǒng)。Tungsten Fabric提供了Neutron網(wǎng)絡(luò)服務(wù)的實(shí)現(xiàn),并提供了許多附加功能。
在OpenStack中,用戶組被分配到“項(xiàng)目”,其中諸如VM和網(wǎng)絡(luò)之類的資源是私有的,并且其他項(xiàng)目中的用戶無(wú)法看到(除非特別啟用)。
在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ú)縫網(wǎng)絡(luò)。
在下圖中,可以看到OpenStack的Tungsten Fabric插件提供了從Neutron網(wǎng)絡(luò)API到Tungsten Fabric API調(diào)用的映射,后者在Tungsten Fabric控制器中執(zhí)行。
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通過(guò)OpenStack提供了豐富的網(wǎng)絡(luò)功能超集,因此許多網(wǎng)絡(luò)功能僅通過(guò)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或接口級(jí)別應(yīng)用Tungsten Fabric標(biāo)記,并應(yīng)用于標(biāo)記對(duì)象中包含的所有實(shí)體。
此外,Tungsten Fabric還支持用于網(wǎng)絡(luò)和安全性的資源,可以使用OpenStack Heat模板進(jìn)行控制。
容器允許多個(gè)進(jìn)程在同一操作系統(tǒng)內(nèi)核上運(yùn)行,但每個(gè)進(jìn)程都可以訪問(wèn)自己的工具、庫(kù)和配置文件。
與每個(gè)VM運(yùn)行其自己的完整客戶機(jī)操作系統(tǒng)的虛擬機(jī)相比,容器需要更少的計(jì)算開(kāi)銷。在容器中運(yùn)行的應(yīng)用程序通常啟動(dòng)速度更快,并且比在VM中運(yùn)行的相同應(yīng)用程序執(zhí)行得更好,這也是為什么人們?cè)絹?lái)越關(guān)注在數(shù)據(jù)中心和NFV中使用容器的原因之一。
Docker是一個(gè)軟件層,它使容器可以跨操作系統(tǒng)版本移植,并且Kubernetes作為部署容器的典型接口,管理服務(wù)器上容器的創(chuàng)建和銷毀。
如上圖所示,Kubernetes管理容器組,它們共同執(zhí)行某些功能,稱為_(kāi)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來(lái)執(zhí)行的。對(duì)于非本機(jī)應(yīng)用程序,是由負(fù)載平衡代理使用中實(shí)現(xiàn)的虛擬IP地址,來(lái)執(zhí)行發(fā)送服務(wù)器上的Linux iptables。
大多數(shù)應(yīng)用程序都是非本機(jī)的,因?yàn)樗鼈兪窃谖纯紤]Kubernetes的情況下開(kāi)發(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 配置如下圖所示。
使用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),但是偵聽(tīng)不同的TCP或UDP端口,并且每個(gè)網(wǎng)絡(luò)堆棧的接口連接到vRouter的VRF。
一個(gè)名為_(kāi)kube-network-manager _listens的進(jìn)程使用Kubernetes _k8s _API偵聽(tīng)與網(wǎng)絡(luò)相關(guān)的消息,并將這些消息發(fā)送到Tungsten Fabric API。
在服務(wù)器上創(chuàng)建pod時(shí),本地_kubelet_和vRouter代理之間通過(guò)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)建一對(duì)(用于冗余)_ha-proxy_負(fù)載均衡器,它可以執(zhí)行基于URL的路由到Kubernetes服務(wù),最好使用浮動(dòng)IP地址避免暴露集群的內(nèi)部IP地址。
這些外部可見(jiàn)的服務(wù)地址解析為到服務(wù)Pod的ECMP負(fù)載平衡路由。
在Kubernetes集群中使用Tungsten Fabric虛擬網(wǎng)絡(luò)時(shí),不需要Kubernetes代理負(fù)載均衡。
提供外部訪問(wèn)的其他替代方法包括:使用與負(fù)載均衡器對(duì)象關(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ì)檢測(cè)k8s API中的相應(yīng)事件,并使用Tungsten Fabric API根據(jù)為Kubernetes群集配置的網(wǎng)絡(luò)模式應(yīng)用網(wǎng)絡(luò)策略。 各種選項(xiàng)總結(jié)在下表中。
Tungsten Fabric為Kubernetes世界帶來(lái)了許多強(qiáng)大的網(wǎng)絡(luò)功能,與OpenStack的功能相同,包括:
IP地址管理
DHCP
負(fù)載均衡
網(wǎng)絡(luò)地址轉(zhuǎn)換(1:1浮動(dòng)IP和N:1 SNAT)
訪問(wèn)控制列表
基于應(yīng)用程序的安全性
VMware vCenter廣泛用作虛擬化平臺(tái),但需要手動(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)了對(duì)Tungsten Fabric的支持,以便Tungsten Fabric中的常見(jiàn)任務(wù)(如創(chuàng)建虛擬網(wǎng)絡(luò)和網(wǎng)絡(luò)策略)可以包含在這些工具中實(shí)現(xiàn)的工作流中。
使用VMware vCenter的Tungsten Fabric架構(gòu)如下圖所示。
虛擬網(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è)端口組,該端口組對(duì)應(yīng)于該接口所在的虛擬網(wǎng)絡(luò)。端口組具有與之關(guān)聯(lián)的VLAN,由Tungsten Fabric控制器使用vCenter中的“VLAN override”選項(xiàng)設(shè)置,并且端口組的所有VLAN都通過(guò)中繼端口組發(fā)送到vRouter。
Tungsten Fabric控制器將接口的VLAN映射到包含該子網(wǎng)的虛擬網(wǎng)絡(luò)的VRF上。剝離VLAN標(biāo)記,并執(zhí)行VRF中的路由查找。
如本文檔前面所述,通過(guò)Tungsten Fabric與vCenter的配合使用,用戶可以訪問(wèn)Tungsten Fabric提供的全部網(wǎng)絡(luò)和安全服務(wù),包括零信任微分段,代理DHCP,DNS和DHCP,可避免網(wǎng)絡(luò)泛洪,服務(wù)鏈,幾乎無(wú)限的規(guī)模,以及與物理網(wǎng)絡(luò)的無(wú)縫互連。
假設(shè)已經(jīng)通過(guò)某種方式預(yù)先配置了運(yùn)行容器的KVM主機(jī)。
還有一種替代方法,是使用OpenStack或vCenter來(lái)配置容器運(yùn)行的VM,并使用Tungsten Fabric管理OpenStack或vCenter創(chuàng)建的VM與Kubernetes創(chuàng)建的容器之間的虛擬網(wǎng)絡(luò),如下圖所示。
編排器(OpenStack或vCenter),Kubernetes Master和Tungsten Fabric在一組服務(wù)器或VM中運(yùn)行。
編排器配置為使用Tungsten Fabric管理計(jì)算群集,因此每臺(tái)服務(wù)器上都有vRouters。
可以將虛擬機(jī)啟動(dòng)并配置為運(yùn)行Kubelet和Tungsten Fabric的CNI插件。這些虛擬機(jī)可供Kubernetes主機(jī)運(yùn)行,并通過(guò)Tungsten Fabric管理網(wǎng)絡(luò)。
由于同一個(gè)Tungsten Fabric負(fù)責(zé)管理orchestrator和Kubernetes的網(wǎng)絡(luò),因此可以在VM之間,容器之間,以及VM和容器之間實(shí)現(xiàn)無(wú)縫聯(lián)網(wǎng)。
在嵌套場(chǎng)景中,Tungsten Fabric提供與前面所述相同的隔離級(jí)別,并且多個(gè)Kubernetes Masters可以共存,并且運(yùn)行Kubelet的多個(gè)VM可以在同一主機(jī)上運(yùn)行。 這允許提供多租戶Kubernetes容器服務(wù)。
以上是“OpenStack和TF集成的示例分析”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。