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