自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

從SDN以及Docker看網(wǎng)絡(luò)模型發(fā)生的變革

云計(jì)算
本文以Docker容器集群的網(wǎng)絡(luò)模型為出發(fā)點(diǎn),大致介紹了SocketPlane如何將SDN與Docker結(jié)合起來(lái),在跨主機(jī)的容器之間建立虛擬局域網(wǎng),同時(shí)作者還展望了未來(lái)基于容器的網(wǎng)絡(luò)模型的發(fā)展趨勢(shì),文中介紹的一些相關(guān)的理念可能會(huì)給讀者一些啟發(fā)。

[[127653]]

New Stack 曾經(jīng)在軟件自定義網(wǎng)絡(luò)方面發(fā)表了一系列的文章。今天的這篇文章可以算是這個(gè)系列的一部分。在part 1中,我們對(duì)SDN進(jìn)行了定義,并且詳盡地說(shuō)明了各種SDN控制器及相關(guān)框架之間的區(qū)別。在我們這個(gè)系列的part 2 ,我們介紹了Trema,這是一個(gè)用開發(fā)OpenFlow控制器的框架,是用Ruby和C語(yǔ)言所寫的。在Part 3中,我們探索了NOX,這個(gè)是最開始的OpenFlow控制器。在part4中,我們介紹了Ryu,這是一個(gè)由NTT實(shí)驗(yàn)室所維護(hù)的開源SDN控制器。在part5,我們了解了FloodLight,這也是一個(gè)OpenFlow控制器,有著超過(guò)15000的下載次數(shù)。在part6中,我們主要像介紹的是OpenDayLight,這也是一個(gè)SDN控制器,被很多廠家所支持。

在不久之前,一個(gè)同行告訴我,他發(fā)現(xiàn)許多人都希望把傳統(tǒng)的網(wǎng)絡(luò)轉(zhuǎn)化成軟件自定義網(wǎng)絡(luò)。

我同意他的觀點(diǎn),那么對(duì)于Docker呢?在SDN之前,Docker已經(jīng)帶來(lái)了許多新的變化,讓資源密度和新的計(jì)算理念變成了焦點(diǎn)話題。由于Docker所帶來(lái)的影響,傳統(tǒng)應(yīng)用和各層服務(wù)平臺(tái)正發(fā)生著不同程度的改變,這些不同層次的服務(wù)如何被SDN所影響,反過(guò)來(lái)它們又如何影響SDN?

當(dāng)越來(lái)越多的服務(wù)和軟件開始運(yùn)行在復(fù)雜的、快速的、分布式的基礎(chǔ)設(shè)施上,問(wèn)題就出現(xiàn)了。越來(lái)越多的應(yīng)用在架構(gòu)設(shè)計(jì)上可能需要跨數(shù)據(jù)中心進(jìn)行同步。這些應(yīng)用可能由一些可交互的服務(wù)構(gòu)成,并且對(duì)于實(shí)時(shí)流數(shù)據(jù)的處理上(processing real-time streaming data)具有事件驅(qū)動(dòng)能力。監(jiān)控服務(wù)也會(huì)變得越來(lái)越重要,用戶需要來(lái)檢測(cè)運(yùn)行在OpenStack、AWS云服務(wù)或者其他基礎(chǔ)設(shè)施平臺(tái)上的容器所發(fā)生的異常。

這些新的應(yīng)用在架構(gòu)上的復(fù)雜性對(duì)于大多數(shù)開發(fā)者而言將是不可見的。我們也也希望網(wǎng)絡(luò)可以在沒(méi)有服務(wù)人員幫助的狀態(tài)下正常工作。目前為止,大家的注意力主要集中在Docker上,Docker被視為是一個(gè)新的堆棧轉(zhuǎn)化(stack’s transformation)的標(biāo)志。隨著Docker及相關(guān)技術(shù)的到來(lái),在技術(shù)棧(technology stack)的各個(gè)層面上將會(huì)產(chǎn)生許多新的需求。

在過(guò)去的幾周,Sridhar Rao對(duì)軟件自定義網(wǎng)絡(luò)的相關(guān)內(nèi)容進(jìn)行了一系列的介紹。內(nèi)容從市場(chǎng)上的***代SDN工具開始,一直到SDN是如何走向成熟?,F(xiàn)在我們將興趣轉(zhuǎn)移到容器相關(guān)技術(shù)上。Docker以及其相關(guān)的應(yīng)用平臺(tái)的出現(xiàn),讓我們對(duì)于網(wǎng)絡(luò)模式的思考有了一種既熟悉又陌生的感覺。Docker中所使用的新的網(wǎng)絡(luò)技術(shù)一方面可以作為SDN應(yīng)用的一個(gè)先例,另一方面,它還對(duì)其他因素進(jìn)行了考慮,比如資源利用密度以及數(shù)據(jù)引力(data gravity),這些議題也隨著輕量級(jí)容器技術(shù)和微服務(wù)理念的發(fā)展逐漸產(chǎn)生。

SocketPlane是一個(gè)正在發(fā)展中的混合的網(wǎng)路模型,它基于SDN的原則構(gòu)建,并且可以被應(yīng)用到了Docker的環(huán)境中。

SocketPlane正在逐漸發(fā)展成為一個(gè)可編程的平臺(tái),它把DevOps放在一個(gè)網(wǎng)絡(luò)環(huán)境中。這里有一篇關(guān)于SocketPlane的不錯(cuò)的文章。文中介紹了 SocketPlane如何在不同的主機(jī)之間建立一個(gè) VXLAN隧道,以此來(lái)將不同主機(jī)上的Docker容器連接起來(lái),使其處在同一個(gè)虛擬邏輯網(wǎng)絡(luò)中,整個(gè)過(guò)程并不需要遠(yuǎn)程或者額外的 SDN控制器進(jìn)行控制。

用戶可以通過(guò)命令行工具與Docker容器進(jìn)行交互,也可以使用socketplane的相關(guān)命令來(lái)創(chuàng)建、刪除虛擬網(wǎng)絡(luò)或進(jìn)行其他的操作。

SocketPlane使用Hashicorp的Consul工具,使其作為一個(gè)輕量級(jí)的控制平臺(tái)。在網(wǎng)絡(luò)的連通性上,SocketPlane通過(guò)Open vSwitch來(lái)連接到Consul集群上。一旦Docker主機(jī)被加入進(jìn)來(lái),代理程序就會(huì)啟動(dòng)一個(gè)Docker實(shí)例,并且連接到集群中。之后容器看起來(lái)就像一個(gè)虛擬機(jī)。

由于Docker相關(guān)技術(shù)帶來(lái)的變化,新一代的網(wǎng)絡(luò)技術(shù)將會(huì)被重新定義,容器在跨多服務(wù)器、多主機(jī)的環(huán)境中的協(xié)同工作能力也會(huì)得到加強(qiáng)。產(chǎn)業(yè)界預(yù)期容器的數(shù)目的使用上可能至少有兩個(gè)數(shù)量級(jí)的增長(zhǎng),隨著容器使用數(shù)目的增加,后續(xù)的容器的相關(guān)管理技術(shù)也會(huì)不斷發(fā)展,這將有可能在相關(guān)領(lǐng)域產(chǎn)生更多的創(chuàng)新。

“你可能會(huì)看到,對(duì)于短時(shí)間周期內(nèi)執(zhí)行的大量的計(jì)算任務(wù),容器數(shù)目可能會(huì)達(dá)到一個(gè)新的數(shù)量級(jí) ” SocketPlane的John Willis這樣說(shuō),“現(xiàn)在所關(guān)注的問(wèn)題可以算是‘納秒級(jí)計(jì)算任務(wù)’,在每一周,開啟或者停止運(yùn)行的實(shí)例的數(shù)目級(jí)別可能會(huì)從1000個(gè)實(shí)例到1億個(gè)不等。

在去年12月份的Dockercon Europe上,Wills讓我們了解了他的觀點(diǎn),Willis從供應(yīng)商的角度上進(jìn)行了反思,告訴我們接下來(lái)的網(wǎng)絡(luò)世界可能會(huì)發(fā)生什么。許多其他的供應(yīng)商也做了演講,我們可能會(huì)在接下來(lái)的文章中進(jìn)行具體的介紹。特別地,Weave作為一個(gè)使用以容器為中心的網(wǎng)絡(luò)技術(shù)的例子,也引起了一些關(guān)注。CoreOS也開發(fā)了Flannel,包括Docker也有其自己相關(guān)的網(wǎng)絡(luò)配置功能。

Wills認(rèn)為 SDN這個(gè)術(shù)語(yǔ)需要包含的內(nèi)容太多,因此可以從各種不同的角度對(duì)其進(jìn)行解釋。為什么會(huì)這樣?因?yàn)榫W(wǎng)絡(luò)的確很難管理,并且適應(yīng)性很差,發(fā)展更新也很困難,理解起來(lái)也不太容易。如果把這些因素都考慮進(jìn)來(lái),網(wǎng)絡(luò)問(wèn)題的確會(huì)變得非常復(fù)雜。在另一方面,SDN期望數(shù)據(jù)層可以有更好的適應(yīng)性,并且可以將控制層從物理設(shè)備上移除。但是這樣做會(huì)使控制層的集中化的程度過(guò)高,以這樣的方式管理一個(gè)以容器為中心的生態(tài)系統(tǒng)是不切實(shí)際的。

“中央大腦”模式所存在的問(wèn)題

MarkBurgess的這篇文章很有啟發(fā),集中化的網(wǎng)絡(luò)可能就像是以下這樣:我們需要一個(gè)大腦,但是大腦實(shí)際上能處理的內(nèi)容是有限的。因此我們需要許多大腦來(lái)一起工作。這好比我們通過(guò)創(chuàng)建一個(gè)社群來(lái)繼承我們的知識(shí),而不僅僅是依賴一個(gè)單獨(dú)個(gè)體來(lái)掌握全部的知識(shí)。

長(zhǎng)久以來(lái),集中化的模型一直發(fā)揮著作用。比如你可以通過(guò)硬件來(lái)構(gòu)建一個(gè)網(wǎng)絡(luò),這個(gè)網(wǎng)絡(luò)可能由一個(gè)中心結(jié)點(diǎn)來(lái)控制。SDN通常就是基于這個(gè)原則來(lái)創(chuàng)建的。它所依賴的理念是:將集中化的控制層和數(shù)據(jù)層相分離。但更有意義的一種情況應(yīng)該是使用一個(gè)非集中化(de-centralized)的網(wǎng)絡(luò),這個(gè)思路借用了我們社會(huì)構(gòu)成中的“集中式的大腦”和“分散式的知識(shí)存儲(chǔ)”的原理。在現(xiàn)實(shí)社會(huì)中,從來(lái)沒(méi)有一個(gè)大腦可以控制我們生活和工作的方式。正是由于社會(huì)的“集群性質(zhì)”(collective nature of society),于是我們就產(chǎn)生出了一系列的概念和想法,這也反應(yīng)出了人類社會(huì)的本質(zhì)。更進(jìn)一步來(lái)說(shuō),一個(gè)大腦所能處理的信息是有限的,而一個(gè)有集體智慧的社會(huì)群體是由進(jìn)行成千上萬(wàn)個(gè)協(xié)同工作的大腦所組成的。Burgess通過(guò)下面的方式來(lái)說(shuō)明:

Burgess幫助構(gòu)建了CF引擎,并且和SocketPlane一同工作了幾個(gè)月。Burgess把這個(gè)問(wèn)題比作,我們?nèi)绾伟压ぷ髫?fù)載推動(dòng)到邊緣(push the loads to the edges)。暴力模型可能看起來(lái)更有效率但是它們實(shí)際上很慢并且容易產(chǎn)生很多問(wèn)題:

對(duì)于我們的問(wèn)題,用社會(huì)模型打比方可能比用大腦模型要更恰當(dāng),因?yàn)樵谝粋€(gè)社會(huì)中,可以形成許多局部的“團(tuán)體” ,這些“團(tuán)體”之間可以在邊界處進(jìn)行微弱的交互,或者信息的交換。如果其中某一個(gè)連接失敗,并沒(méi)有必要把它與剩余的部分切斷,它有一定的自治能力來(lái)重新配置并且適應(yīng)。也沒(méi)有必要把系統(tǒng)的每個(gè)部分之間都連通起來(lái),這樣的話,對(duì)于負(fù)載的處理和決策的制定就可能變成一個(gè)純粹的暴力破解問(wèn)題。

Docker很好地融入了SocketPlane提供的這種混合的網(wǎng)絡(luò)模式。如果Docker的網(wǎng)絡(luò)模式僅僅依賴于一個(gè)中央化的,“單一大腦”的方式,情況可能會(huì)變得很難處理。比如:一個(gè)服務(wù)器上有50臺(tái)虛擬機(jī),則一個(gè)集中式的SDN平臺(tái)大約可以支持500個(gè)主機(jī),每臺(tái)主機(jī)上有50個(gè)虛擬機(jī)。如果每一個(gè)虛擬機(jī)上有5000個(gè)容器,你將怎樣操作?在這種環(huán)境下,集中化的操作可能會(huì)變得難以實(shí)施。因此我們需要新的方法來(lái)應(yīng)對(duì)網(wǎng)絡(luò)行為的固有的變化,這種網(wǎng)絡(luò)行為所發(fā)生的變化可能是由容器的數(shù)量增減或者掛載的數(shù)據(jù)卷增減所引起的。

Wills還指出了Docker的兩個(gè)發(fā)展趨勢(shì):

  • 資源密度:正如他的同事Brent Salisbury在上周所寫的那樣,操作系統(tǒng)正變得越來(lái)越碎片化。由于Docker相關(guān)技術(shù)的到來(lái),資源的利用狀況會(huì)發(fā)生變化,這將會(huì)改變應(yīng)用在網(wǎng)絡(luò)環(huán)境中的行為方式?,F(xiàn)今,OS之間相互合并的趨勢(shì)變得越來(lái)越強(qiáng),或許最終會(huì)從客戶端上消失。在一個(gè)有成百上千個(gè)主機(jī)的環(huán)境中,可能會(huì)有幾千個(gè)容器運(yùn)行在同一個(gè)物理服務(wù)器上,
  • 數(shù)據(jù)重力:這個(gè)概念由Basho CTO Dave McCrory所提出,這個(gè)概念是指數(shù)據(jù)應(yīng)該被看成是一種能夠吸引更多其他事物的東西。更多的數(shù)據(jù)會(huì)吸引更多的服務(wù)和應(yīng)用。隨著搜集到的數(shù)據(jù)越來(lái)越多,不可避免的,我們需要更多的計(jì)算資源,需要更多的方式來(lái)調(diào)用服務(wù)。計(jì)算能力可能是流式的或者是集群式的,就像是在AWS Lambda中已經(jīng)實(shí)現(xiàn)的那樣。

Adrian Cockcroft在Dockercon Europe的演講中也談到了這一點(diǎn):

SocketPlane把它們的解決方案稱為 retro-SDN,控制層有一個(gè)邏輯可以填充到數(shù)據(jù)層。它符合flow tables 的要求。舉例來(lái)說(shuō),當(dāng)一個(gè)packet經(jīng)過(guò)的時(shí)候,按照程序?qū)ζ溥M(jìn)行路由,允許為其進(jìn)行動(dòng)態(tài)的決策。VMware把這稱為微分段(micro-segmentation),Willis說(shuō)。它將每一個(gè)分段隔離,創(chuàng)建隧道。VLAN是一個(gè)在交換機(jī)上多租戶的抽象。但是這個(gè)是基于硬件的解決方案。在云端,用戶的計(jì)算資源并沒(méi)有在某一個(gè)具體的服務(wù)器上,而是動(dòng)態(tài)地分布在虛擬的網(wǎng)絡(luò)中。這從更廣泛的層面而言,就涉及到Willis如何定義他所說(shuō)的疊加網(wǎng)絡(luò)(overlay network),創(chuàng)建這樣一個(gè)邏輯上的網(wǎng)絡(luò)并不需要與任何物理交換機(jī)耦合,并且能很容易地進(jìn)行修改,這些操作可以由控制層到數(shù)據(jù)層全部完成。這就是SDN所希望實(shí)現(xiàn)的。服務(wù)可以移動(dòng)到數(shù)據(jù)層并且被操縱。在Github上,SocketPlane的疊加網(wǎng)絡(luò)被這樣描述:

疊加網(wǎng)絡(luò)在主機(jī)端點(diǎn)之間建立起隧道,在我們的例子中,這些端點(diǎn)都是Open vSwitch。對(duì)于這樣的場(chǎng)景,優(yōu)勢(shì)是用戶不需要擔(dān)心 子網(wǎng)/vlan 或者其他任何的第二層網(wǎng)絡(luò)的使用限制。這只是我們提出的在網(wǎng)絡(luò)中部署容器的其中一種方法。Open vSwitch的重要性在于網(wǎng)絡(luò)的性能和一些用于高級(jí)網(wǎng)絡(luò)配置的API。

 Willis認(rèn)為容器的使用可能會(huì)達(dá)到一個(gè)新的數(shù)量級(jí),上千個(gè)容器可能在一個(gè)服務(wù)器上,這會(huì)引起很多的問(wèn)題。隨著微服務(wù)理念的發(fā)展,任何數(shù)量的服務(wù)都可能運(yùn)行在容器上。這意味著以數(shù)據(jù)重力、資源密度等概念為理念的新的設(shè)計(jì)模式將會(huì)創(chuàng)建一個(gè)完全不同的方法來(lái)對(duì)計(jì)算資源進(jìn)行分配。

新的準(zhǔn)則可能是:計(jì)算資源只生存幾分鐘或者幾秒。(“The norm may be compute living for minutes or maybe seconds.”)

以后不再需要集中控制的網(wǎng)絡(luò)。就像一個(gè)社會(huì)的組織形態(tài)。也沒(méi)有必要去進(jìn)行集中化的組織以專制的形式運(yùn)行。我們需要考慮的是如何構(gòu)建中心樞紐。我們看到在一些極客社區(qū)中,并沒(méi)有一個(gè)人試圖去掌握所有的知識(shí),社區(qū)的知識(shí)深度更多的通過(guò)集體智慧的形式來(lái)體現(xiàn)。

這提供了一種不同的方法來(lái)看待我們的網(wǎng)絡(luò)本身。它不是一個(gè)“單一大腦”的形式,更像是一個(gè)集中數(shù)據(jù)平臺(tái)的網(wǎng)絡(luò),可以動(dòng)態(tài)地進(jìn)行決策。

或許這對(duì)我們而言,可以用一種不同的方式來(lái)思考底層基礎(chǔ)設(shè)施,網(wǎng)絡(luò)作為一個(gè)社區(qū)的形式并非是一個(gè)單一的個(gè)體,我們可以參考這種新的思路來(lái)構(gòu)建新的系統(tǒng)。

原文鏈接:http://dockerone.com/article/188

責(zé)任編輯:Ophira 來(lái)源: dockerone
相關(guān)推薦

2012-12-26 09:14:11

SDN信息數(shù)據(jù)

2024-07-08 12:03:41

2013-05-20 09:07:20

SDN網(wǎng)絡(luò)交換機(jī)網(wǎng)絡(luò)虛擬化

2014-03-31 11:49:16

軟件定義網(wǎng)絡(luò)SDN

2020-09-23 12:32:18

網(wǎng)絡(luò)IOMySQL

2025-03-03 08:53:23

2013-03-20 10:08:05

華為SDN網(wǎng)絡(luò)架構(gòu)

2017-04-24 16:17:17

SDN網(wǎng)絡(luò)金融業(yè)

2017-02-21 10:30:10

網(wǎng)絡(luò)SDN商用

2015-10-16 09:43:13

SDNdockerdocker網(wǎng)絡(luò)

2013-07-26 16:10:13

微信

2022-08-01 07:09:48

Docker操作系統(tǒng)抽象重組

2021-03-07 17:17:07

Java內(nèi)存閉包

2015-12-11 14:29:50

2016-07-23 14:06:31

SDN廣域網(wǎng)解決方案

2013-04-17 09:29:56

SDN數(shù)據(jù)中心網(wǎng)絡(luò)架構(gòu)

2015-11-05 11:56:56

SDN路由器技術(shù)路由器

2015-09-23 11:04:36

軟件定義網(wǎng)絡(luò)SDN光網(wǎng)絡(luò)

2020-04-20 10:33:56

戴爾

2018-12-20 13:02:02

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)