雲計算---openstack基礎構架以及服務方式詳解


一:什么是openstack

       是Rackspace和NASA共同發起的開源項目,他是一系列軟件項目的組合。

       這些項目是松耦合的關系,可以進行獨立的安裝,啟動和停止,只有在必要的時候才進行通信(優點:擴展性好,安全性高,缺點:安裝和配置比較復雜)

二:openstack的主要功能組件

1:簡介

 

       

 主要分為5個不同的層次16個不同功能模塊:

                 Presentation【表示層】:api模塊,ui模塊

                 Logic(Control)【邏輯控制層】:Orchostration【編排服務】,Scheduling【調度服務】,Policy【策略服務】,Image Registry【鏡像注冊服務】,Logging【日志服務】

                 Resource【資源管理層】:Compute【計算資源管理模塊】,Volume【存儲資源管理模塊】,Network【網絡資源管理模塊】

                 Integration【集成層】:Billing【計量模塊】,Identity【身份認證模塊】

                 Mabagement【管理層】:Admin【管理api】,Monitoring【監測】

子項目是怎樣對接起來的:

                Horizon-UI服務:對應User Dashboard【雲下服務給運維用戶使用】和Customer Portal【給雲上用戶使用】

                Keystone-身份認證:對應Identity

                Nova-計算服務模塊:Compute API,scheduling【調度服務】,policy【策略服務】和Compute【計算管理模塊】以及部分Admin API

               Glance-鏡像服務:Image Registry【鏡像注冊】,Image Registry【鏡像API】

               Cinder【塊存儲】/swift【網絡對象存儲】-存儲服務:volume【存儲資源管理模塊】

               Neutron-網絡服務:Network【網絡資源管理模塊】

               Heat-編排組織服務:Orchostration【編排服務】

               Ceilometer-監控計量服務:Billing【計量模塊】,,Monitoring【監測】

2:Horizon-UI模塊

              主要服務為openstack用戶提供UI服務,也就是負責用戶在管理控制台上的所有操作轉化為后台API的調用。

              用戶:雲管理員【負責整個雲平台的運營,資源管理和分配】,普通雲用戶【在配額范圍內,自由操作,使用資源】

                        雲管理員界面:

                        

3:Keystone-身份認證模塊

              主要負責openstack中的身份認證和權限控制,

              User:即用戶,代表可以通過keystone進行訪問的人或者程序,User通過認證信息(如密碼,api Key等)進行驗證

              Tenant:即租戶,它是各個服務中的一些可以訪問的資源集合

              Role:即角色,代表一組用戶可以訪問資源的權限

              一家人【租戶】租用了一百平米的房子【角色權限】那么這家人每個人【用戶】的管理權限是不同的,父母比孩子的管理權限大。

                            

               Service:即服務,如Nova,Glance,Swift。服務只有在keystone上進行注冊才能被分配

               Endpoint:一個服務暴露出來的訪問點,如果要訪問一個服務,則必須要知道他的endpoint

               Token:訪問資源的令牌,相當於鑰匙

 keystone到底提供了什么服務:

               Identity服務:驗證了身份驗證憑證。

               Token服務:將會驗證並管理用於驗證請求身份的令牌

               Catalog:每個服務需要在keystone上進行注冊,而他們就是注冊在catalog上

               Policy:決定每個用戶有哪些訪問控制的權限

4:Nova-計算服務

               openstack的核心服務。

               一:主要功能包括:

               1:實例生命周期管理:實例的創建,刪除,啟動,停止

               2:計算資源的管理

               3:向外提供Rest風格的API

              二:3個不同的功能模塊組成

              nova-api:位於表示層主要接受外部的rest請求

              nova-scheduler:位於邏輯控制層,主要負責居中調停,選擇由哪個主機創建vm

              nova-compute:負責虛擬機測創建,以及資源的分配,本身並不提供任何虛擬化功能,但他卻支持不同的虛擬機形式

              他們之間並不是聽過直接傳遞,而是通過消息中間件進行消息的傳遞

              

5: Glance-鏡像服務

           功能:提供虛擬機鏡像的存儲,查詢和檢索服務

           主要為Nova組件提供服務,通過nova創建虛擬機的時候,就必須聽過glance獲取相應的鏡像,然后根據鏡像創建虛擬機。

           依賴於存儲服務和數據庫服務:存儲服務用於存儲鏡像本身,數據庫服務主要用於存儲跟鏡像相關的各種元數據

            glance的架構圖

                                

6:swift-存儲服務

        功能:對外提供高可用分布式對象存儲服務

        特點:無限可擴展,沒有端點故障,使用swift不用擔心使用的對象會丟失,因為它本身就提供高可用的功能

                  可以通過HTTP(S),object api及s3接口存取

        swift原理圖

                  所有的請求都通過proxy進行處理,通過proxy到合適的Account下面找相應的Containe中的某一個object進行存儲服務

                  在這中間會針對不同的object進行復制,從而保證某一個對象的信息丟失時能夠從其他地方找回來

                                       

7:cinder-塊存儲服務

                功能:管理所以的塊存儲設備,為vm服務,

                對象存儲服務主要用於存儲分布式的對象,也就意味着你可以從任何地方發起請求存儲你的對象

                塊存儲服務是本地的,它只能掛在vm上進行使用

        cinder原理圖:

               當一個請求發來時,首先還是發送到cinder本身的api上面,api模塊對發過來的請求進行處理,處理后的結果通過消息中間件進行傳遞,通過消息中間件mq傳到cinder-scheduler上面再通過調度器,

               再決定到哪里申請塊存儲服務,並且創建一個vm,cinder具體的存儲模塊的管理都是通過cinder-volume來進行生命周期管理

               

 

         

8:Neutron-網絡服務

            功能:提供雲計算環境下的虛擬網絡功能,為每個租戶建立獨立的網絡環境

            三種模式:

                       Flat模式:網橋模式,所有的都需要手工配置

                       Flat DHCP模式:網橋模式,在網關處單獨取了一個DHCP的進程,可以輔助用戶進行網絡配置

                       VLAN模式:為每個不同的租戶設置了不同的虛擬子網,在這個虛擬子網中,用戶可以有自己的ip

三:組件間關系和訪問流程

1:組件之間的關系

             

               

 

 

2:訪問控制流程   

                                    

 

 

 

 

 

 

 

 


免責聲明!

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



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