理解 Neutron Server 分層模型 - 天天5分鐘玩轉 OpenStack(69)

本節開始討論 Neutron 的各個服務組件,首先學習 Neutron Server 。數據庫

上圖是 Neutron Server 的分層結構,至上而下依次爲:ide

Core API
對外提供管理 network, subnet 和 port 的 RESTful API。學習

Extension API
對外提供管理 router, load balance, firewall 等資源 的 RESTful API。router

Commnon Service
認證和校驗 API 請求。server

Neutron Core
Neutron server 的核心處理程序,經過調用相應的 Plugin 處理請求。資源

Core Plugin API
定義了 Core Plugin 的抽象功能集合,Neutron Core 經過該 API 調用相應的 Core Plgin。it

Extension Plugin API
定義了 Service Plugin 的抽象功能集合,Neutron Core 經過該 API 調用相應的 Service Plugin。io

Core Plugin
實現了 Core Plugin API,在數據庫中維護 network, subnet 和 port 的狀態,並負責調用相應的 agent 在 network provider 上執行相關操做,好比建立 network。route

Service Plugin
實現了 Extension Plugin API,在數據庫中維護 router, load balance, security group 等資源的狀態,並負責調用相應的 agent 在 network provider 上執行相關操做,好比建立 router。network

概括起來,Neutron Server 包括兩部分: 1. 提供 API 服務。 2. 運行 Plugin。

Neutron Server = API + Plugins


明白了 Neutron Server 的分層模型,咱們就更容易理解 Neutron 是如何支持各類 network provider。
這一點咱們放到下節詳細討論。

相關文章
相關標籤/搜索