天天看點

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

本節開始讨論 Neutron 的各個服務元件,首先學習 Neutron Server 。

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

Core API

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

Extension API

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

Commnon Service

認證和校驗 API 請求。

Neutron Core

Neutron server 的核心處理程式,通過調用相應的 Plugin 處理請求。

Core Plugin API

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

Extension Plugin API

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

Core Plugin

實作了 Core Plugin API,在資料庫中維護 network, subnet 和 port 的狀态,并負責調用相應的 agent 在 network provider 上執行相關操作,比如建立 network。

Service Plugin

實作了 Extension Plugin API,在資料庫中維護 router, load balance, security group 等資源的狀态,并負責調用相應的 agent 在 network provider 上執行相關操作,比如建立 router。

歸納起來,Neutron Server 包括兩部分:

1. 提供 API 服務。

2. 運作 Plugin。

即 Neutron Server = API + Plugins

明白了 Neutron Server 的分層模型,我們就更容易了解 Neutron 是如何支援各種 network provider。

這一點我們放到下節詳細讨論。

本文轉自CloudMan6 51CTO部落格,原文連結:

http://blog.51cto.com/cloudman/1834584