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

一:什麼是openstack

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

       這些項目是鬆耦合的關係,能夠進行獨立的安裝,啓動和中止,只有在必要的時候才進行通訊(優勢:擴展性好,安全性高,缺點:安裝和配置比較複雜)swift

二:openstack的主要功能組件

1:簡介

 

       

 主要分爲5個不一樣的層次16個不一樣功能模塊:api

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

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

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

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

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

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

                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:訪問控制流程   

                                    

相關文章
相關標籤/搜索