Neutron 如何支持多種 network provider - 每天5分鍾玩轉 OpenStack(70)


Neutron 的架構是非常開放的,可以支持多種 network provider,只要遵循一定的設計原則和規范。本節我們將開始討論這個主題。

先討論一個簡單的場景:在 Neutorn 中使用 linux bridge 這一種 network provider。

根據我們上一節討論的 Neutron Server 的分層模型,我們需要實現兩個東西:linux bridge core plugin 和 linux bridge agent。

linux bridge core plugin

  1. 與 neutron server 一起運行。

  2. 實現了 core plugin API。

  3. 負責維護數據庫信息。

  4. 通知 linux bridge agent 實現具體的網絡功能。

linux bridge agent

  1. 在計算節點和網絡節點(或控制節點)上運行。

  2. 接收來自 plugin 的請求。

  3. 通過配置本節點上的 linux bridge 實現 neutron 網絡功能。

同樣的道理,如果要支持 open vswitch,只需要實現 open vswitch plugin 和 open vswitch agent。

由此可見:Neutron 可以通過開發不同的 plugin 和 agent 支持不同的網絡技術。這是一種相當開放的架構。

不過隨着支持的 network provider 數量的增加,開發人員發現了兩個突出的問題:

  1. 只能在 OpenStack 中使用一種 core plugin,多種 network provider 無法共存。

  2. 不同 plugin 之間存在大量重復代碼,開發新的 plugin 工作量大。

下一節將深入討論這兩個問題的成因以及解決方案。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM