您好,登錄后才能下訂單哦!
這期內(nèi)容當(dāng)中小編將會(huì)給大家?guī)碛嘘P(guān)如何在Mesos中提高網(wǎng)絡(luò)隔離效果,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
眾所周知,在網(wǎng)絡(luò)架構(gòu)領(lǐng)域,沒有哪種方案能夠一勞永逸地適應(yīng)全部具體場(chǎng)景。然而,Mesos 0.23.0 版本中做出大膽實(shí)踐,首次實(shí)現(xiàn)一容器一IP機(jī)制支持原生 Mesos 容器化方案,而且可滿足很多特定需求。
Apache Mesos 利用 Docker 以及 Linux cgroups 等操作系統(tǒng)容器,旨在實(shí)現(xiàn)任務(wù)與資源隔離。盡管這種解決方案能夠在 CPU 以及內(nèi)存等本地資源層面提供良好成效,但卻無法作為切實(shí)可行的跨容器網(wǎng)絡(luò)資源管理機(jī)制發(fā)揮作用。有鑒于此,Mesos 如今開始為同一集群當(dāng)中的每套容器系統(tǒng)提供不同的 IP 地址(即一容器一 IP 機(jī)制),這項(xiàng)特性于 Mesos 0.23.0 版本中首次出現(xiàn)。
這意味著應(yīng)用程序會(huì)被分配至非標(biāo)準(zhǔn)端口以避免端口沖突狀況,最終導(dǎo)致其實(shí)際監(jiān)聽的并非已知端口。這就阻礙了其服務(wù)發(fā)現(xiàn)能力,并使得其它應(yīng)用程序很難與容器化應(yīng)用程序進(jìn)行對(duì)接。
舉例來說,如果某家金融企業(yè)同時(shí)在單一 Mesos 集群當(dāng)中運(yùn)行風(fēng)險(xiǎn)分析模擬與面向客戶的應(yīng)用程序,那么相關(guān)管理人員將很難解決惡意應(yīng)用意外訪問到敏感信息的難題。另外一種風(fēng)險(xiǎn)在于,性能不佳的應(yīng)用程序有可能拖累整套網(wǎng)絡(luò)的速度表現(xiàn),在這種情況下處于同一節(jié)點(diǎn)之上的關(guān)鍵性任務(wù)應(yīng)用將有可能得不到充足的資源供給。
最后,每家企業(yè)都擁有不同的網(wǎng)絡(luò)需求。在網(wǎng)絡(luò)架構(gòu)領(lǐng)域,沒有哪種方案能夠一勞永逸地適應(yīng)全部具體場(chǎng)景。
為了解決上述難題,Mesos 社區(qū)已經(jīng)對(duì) Mesos 項(xiàng)目進(jìn)行了強(qiáng)化,確保一容器一 IP 機(jī)制能夠支持原生 Mesos 容器化方案(預(yù)計(jì)未來面向 Docker 容器的支持能力也將推出)。這套可插拔解決方案還允許 Calico、WeaveWorks 以及其它一些第三方網(wǎng)絡(luò)隔離方案供應(yīng)商的產(chǎn)品以插件形式作用于我們的 Mesos 集群。
作為 Mesos 當(dāng)中的一容器一 IP 機(jī)制,其設(shè)計(jì)目標(biāo)之一在于建立一套可插拔架構(gòu),允許用戶從現(xiàn)有第三方網(wǎng)絡(luò)供應(yīng)商處選擇解決方案并作為網(wǎng)絡(luò)實(shí)現(xiàn)基礎(chǔ)。為了達(dá)成這一目標(biāo),其中共包含五項(xiàng)關(guān)鍵性組件:
負(fù)責(zé)為即將啟用的容器指定 IP 要求的框架/調(diào)度標(biāo)簽。這是一項(xiàng)可選服務(wù),能夠在不帶來任何副作用的前提下將一容器一 IP 能力引入現(xiàn)有框架當(dāng)中。
由一個(gè) Mesos master 節(jié)點(diǎn)與一個(gè) Mesos agent 節(jié)點(diǎn)共同構(gòu)建的 Mesos 集群。
套第三方 IP 地址管理(簡(jiǎn)稱 IPAM)服務(wù)器,負(fù)責(zé)根據(jù)需要進(jìn)行 IP 地址分配,并在 IP 地址使用完畢后將其回收。
第三方網(wǎng)絡(luò)隔離方案供應(yīng)程序負(fù)責(zé)對(duì)不同容器系統(tǒng)加以隔離,并允許運(yùn)維人員通過配置調(diào)整其可達(dá)性及路由方式。
作為輕量級(jí) Mesos 模塊被加載至 agent 節(jié)點(diǎn)當(dāng)中的網(wǎng)絡(luò)隔離模塊將負(fù)責(zé)通過調(diào)度程序進(jìn)行任務(wù)要求審查,同時(shí)利用 IP 地址管理與網(wǎng)絡(luò)隔離服務(wù)為對(duì)應(yīng)容器提供 IP 地址。在此之后,其會(huì)進(jìn)一步將IP地址交付至 master 節(jié)點(diǎn)以及框架。 雖然 IP 分配與網(wǎng)絡(luò)隔離功能完全可以由單一單元負(fù)責(zé)實(shí)現(xiàn),不過立足于概念層面,Mesos 提供了兩項(xiàng)不同的服務(wù)方案。其一設(shè)想由兩家彼此獨(dú)立的服務(wù)供應(yīng)程序分別提供IP地址管理與網(wǎng)絡(luò)隔離服務(wù)。舉例來說,其中之一利用 Ubuntu FAN 實(shí)現(xiàn) I P地址分配,而另一方則利用 Calico項(xiàng)目進(jìn)行網(wǎng)絡(luò)隔離。
一容器一 IP 機(jī)制的可選屬性使得現(xiàn)有框架能夠不受影響,這就使集群滾動(dòng)升級(jí)成為了可能。因此,如果用戶以混合模式運(yùn)行多套容器系統(tǒng)——其中一部分采用一容器一 IP 機(jī)制,另一部分則仍按默認(rèn)方式運(yùn)行——那么同一集群之內(nèi)不會(huì)出現(xiàn)任何兼容性問題。
一容器一 IP 服務(wù)的出現(xiàn)使得我們能夠?qū)W(wǎng)絡(luò)隔離進(jìn)行粗粒度與細(xì)粒度調(diào)整。盡管仍然需要依賴于第三方網(wǎng)絡(luò)隔離方案供應(yīng)程序,但如果只是單純希望以粗粒度方式進(jìn)行網(wǎng)絡(luò)隔離設(shè)置,那么大家完全可以使用網(wǎng)絡(luò)路由表。
如果沒有一容器一 IP 機(jī)制,那么應(yīng)用程序必須注冊(cè)<localhost, port-assignment>以實(shí)現(xiàn)發(fā)現(xiàn)服務(wù)(包括 Consul 以及 Zookeeper 等等)。另外,HAProxy 或者類似的反向代理機(jī)制必須被部署在每一個(gè)計(jì)算節(jié)點(diǎn)當(dāng)中,從而確保流量由 localhost: 指向合適的容器端口。
在一容器一 IP 機(jī)制的支持下,當(dāng)IP地址被分配至容器且網(wǎng)絡(luò)隔離與路由功能全部到位,那么Mesos master 與調(diào)度程序?qū)?huì)獲取到 IP 地址的分配信息。在這種情況下,調(diào)度程序能夠利用容器 IP 與應(yīng)用程序相對(duì)接。另外,其還可以將這部分信息用于新啟動(dòng)的容器及應(yīng)用程序。
除此之外,Mesos master 還能夠通過自身狀態(tài)端點(diǎn)實(shí)現(xiàn)容器 IP 可用性。這部分信息能夠被各DNS服務(wù)供應(yīng)程序所使用,包括 Mesos-DNS 以及 Mesos-Consul ,從而實(shí)現(xiàn)域名解析。
憑借著一容器一 IP 地址所帶來的諸多助益,每套容器系統(tǒng)都能夠擁有與其 IP 相符合的完整端口區(qū)間,而且我們無需再為端口沖突之類的狀況而勞心費(fèi)力。在其幫助下,如今應(yīng)用程序已經(jīng)可以監(jiān)聽標(biāo)準(zhǔn)端口,并因此得以在無需反向代理輔助的情況下輕松實(shí)現(xiàn)服務(wù)發(fā)現(xiàn)。
上述就是小編為大家分享的如何在Mesos中提高網(wǎng)絡(luò)隔離效果了,如果剛好有類似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識(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)容。