O015、OpenStack 架構


 
終於正式進入OpenStack 部分了。
 
今天開始正式學習OpenStack,OpenStack 從2010年到今天,已經第10個年頭了 。每半年發布一個版本,版本以字母順序命名,現在已經到第20個版本了(字母 T),OpenStack 最初只有兩個模塊(服務),現在模塊數量已經超過40+ ,每個模塊作為獨立的子項目開發。
 
版本列表參考下面    Release Series    ( https://releases.openstack.org/index.html#release-series
模塊列表參考下面    Service Projects    ( https://releases.openstack.org/stein/index.html#service-projects
 
面對如此龐大的陣容,作為初學者我們如何起步呢?這里我們通過實際操作由淺入深的學習和實踐OpenStack,最終具備實施OpenStack的能力。
 
我們會把學習的重點放在OpenStack最核心的地方,見下圖
 
 
作為 IaaS 層的雲操作系統,OpenStack 為虛機提供並管理三大類資源:計算、存儲、網絡
 
這三個就是核心,所以我們學習的重點就是:搞清楚 OpenStack 是如何對計算、網絡和存儲資源進行管理的。在 40+ 模塊中,管理這三類資源的模塊其實並不多,這幾個模塊就是我們的學習重點。
 
要達到這個目的,我們自然需要研究 OpenStack 的整體架構。架構里哪些核心模塊負責管理計算資源、網絡資源和存儲資源?模塊之間如何協調工作?同時我們會構建一個實驗環境,進到各個模塊的內部,通過實際操作真正理解和掌握OpenStack。
 
OpenStack架構
 
結構是個好東西,他幫我們站在高處看清楚事務的整體結構,避免過早的進入細節而迷失方向,下圖是OpenStack的Conceptual Architecture
 
 
中間菱形  是虛擬機,圍繞VM的那些長方形代表OpenStack不同的模塊(OpenStack叫服務,后面都用服務這個術語),下面分別介紹這些服務。
 
Nova         管理VM的生命周期,是OpenStack中最核心的服務。
 
Neutron         為OpenStack提供網絡連接服務,負責創建和管理 L2 L3 網絡,為VM聽過虛擬網絡和物理網絡連接。
 
Glance         管理VM啟動鏡像,Nova創建VM時將使用Glance提供的鏡像。
 
Cinder         為VM提供塊存儲服務。Cinder提供的每一個Volume在VM看來就是一塊虛擬磁盤,一般用作數據盤。
 
Swift         提供對象存儲服務。VM可以通過 RESTful API 存放對象數據。作為可選的方案,Glance可以將鏡像存放在Swift中,Cinder也可以將Volume備份到Swift中。
 
Keystone         為OpenStack的各種服務提供認證和權限管理服務。簡單的說,OpenStack上的每一個操作都必須通過Keystone的審核。
 
Ceilometer         提供OpenStack監控和計量服務,為報警、統計或者計費提供數據。
 
Horizon         為OpenStack用戶提供一個Web的自服務portal。
 
 
 
在上面這些服務器中,哪些是OpenStack的核心服務呢?核心服務就是如果沒有他,OpenStack就跑不起來。所以
 
    1、Nova 管理計算資源,是核心服務
    2、Neutron 管理網絡資源,是核心服務
    3、Glance 為VM提供OS鏡像,屬於存儲范疇,是核心服務
    4、Cinder 提供塊存儲,VM怎么也得需要數據盤吧,是核心服務
    5、Swift 提供對象存儲,不是必須的,是可選服務
    6、Keystone 認證服務,沒他OpenStack轉不起來,是核心服務
    7、Ceilometer 監控服務,不是必須的,是可選服務
    8、Horizon 非常需要的一個操作界面
 
現在核心服務有了,我們把鏡頭拉近,看看核心服務的內部結構:Logical Architecture
 
 
在 Logical Architecture 中,可以看到每個服務又有若干個組件組成。以 Neutron為例,包含
 
 
1、Neutron Server、Neutron Plugins 和 Neutron Agents
2、Network Provider
3、Message Queue
4、Neutron Database
 
在后面的章節中我們會展開學習這些組件。
 
這里想要強調一點:上面是 Logical Architecture ,描述的是 Neutron 服務各個組成部分以及個組件之間的邏輯關系。而在實際的部署方案上,各個組件可以部署到不同的物理節點上。
 
OpenStack 本身是一個分布式系統,不但各個服務可以分布式部署,服務中的組件也可以分布式部署。這種分布式特性讓OpenStack 具備極大的靈活性、伸縮性和高可用性。當然從另一個角度將,這也使得OpenStack比一般系統復雜,學習難度也大。
 
后面我們會深入學習各個核心
 

Release Series( https://releases.openstack.org/index.html

OpenStack is developed and released around 6-month cycles. After the initial release, additional stable point releases will be released in each release series. You can find the detail of the various release series here on their series page. Subscribe to the  combined release calendar for continual updates.
Series
Status
Initial Release Date
Next Phase
EOL Date
2019-10-16 estimated (schedule)
Maintained estimated 2019-10-16
 
2019-04-10
Extended Maintenanceestimated 2020-10-10
 
2018-08-30
Extended Maintenanceestimated 2020-02-24
 
2018-02-28
Extended Maintenanceestimated 2019-08-25
 
2017-08-30
Extended Maintenanceestimated 2019-03-03
 
2017-02-22
Unmaintainedestimated TBD
 
2016-10-06
 
2017-10-25
2016-04-07
 
2017-04-10
2015-10-15
 
2016-11-17
2015-04-30
 
2016-05-02
2014-10-16
 
2015-12-07
2014-04-17
 
2015-07-02
2013-10-17
 
2014-09-30
2013-04-04
 
2014-03-29
2012-09-27
 
2013-11-19
2012-04-05
 
2013-05-06
2011-09-22
 
2013-05-06
2011-04-15
 
 
2011-02-03
 
 
2010-10-21
 
 
Note: The schedule of  Maintenance phases changed during Ocata. The  old phases were used until Newton.
 

 

Service Projects( https://releases.openstack.org/stein/index.html

Deliverable
Earliest Version
Most Recent Version
Stable Status
Notes
8.0.0
8.0.0
8.0.0
8.0.0
 
3.0.0
3.0.0
12.0.0
12.0.0
14.0.0
14.0.0
9.0.0
9.0.0
9.0.0
9.0.0
2.0.0
2.0.0
8.0.0
8.0.0
8.0.0
8.0.0
 
7.0.0
7.1.0
18.0.0
18.0.0
12.0.0
12.0.0
15.0.0
15.0.0
12.0.0
12.1.0
1.2.0
1.3.0
 
15.0.0
15.0.0
8.0.0
8.0.0
8.0.0
8.0.0
7.0.0
7.0.0
8.0.0
8.0.0
2.8.0
3.0.0
0.2.0
0.3.0
2.8.0
2.9.0
7.0.0
7.0.0
14.0.0
14.0.1
19.0.0
19.0.0
4.0.0
4.0.0
6.0.0
6.0.0
1.0.0
1.0.0
2.0.0
2.0.0
10.0.0
10.0.0
6.0.0
6.0.0
7.0.0
7.0.0
6.0.0
6.0.0
3.0.0
3.0.0
 
2.20.0
2.21.0
1.0.0
1.0.0
6.0.0
6.0.0
11.0.0
11.0.0
 
4.0.0
4.3.1
2.0.0
2.0.0
8.0.0
8.0.0
 
zun
3.0.0
3.0.0

 
 


免責聲明!

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



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