1. 程式人生 > >初識openstack之3——opsenstack概念及實驗環境介紹

初識openstack之3——opsenstack概念及實驗環境介紹

統架構 str Oz horizon 多個 應用 比較 代理 api

前言

本系列文檔按照openstack官方queens版本安裝文檔進行講解,目的是通過搭建一個測試環境的openstack對其有更深入的了解。

一、openstack概念

openstack可以理解為一個雲操作系統,他是將底層的物理資源抽象成一個資源池,而其上運行著每一個虛擬機(也成為實例)不需要關心自己具體在哪一個物理主機上,openstack根據其類型可以分為IaaS、PaaS、SaaS,下圖是openstack的3種類型與傳統架構的比較用圖:
技術分享圖片
在傳統架構中企業上線一套應用,從底層的硬件、網絡、存儲到上層應用都需要自己維護。IaaS是為客戶節省了物理主機以下的成本,直接為客戶提供了一個安裝好的操作系統,可以在其上安裝自己的應用。PaaS則更進一步的為用戶提供了應用程序所需要的環境,客戶只需要在其上部署應用系統。SaaS是所有的環節都由供應商提供,客戶只需要有一個可以訪問互聯網的接口就能使用,比如office365。

二、openstack的組成

openstack是有apache軟件基金會支持的開源項目,由核心組件和可選組件組成,openstack架構如下圖:
技術分享圖片
其中紅色框中的為核心組件,其功能為:

  1. Keystone:提供所有組件的認證及編目,按照openstack的通信流程,所有組件之間是通過消息隊列異步通信,每一個組建都需要先與Keystone通信的原因就是除了認證之外還需要在Keystone處查詢其他組建的API接口。
  2. Glance:為實例提供映像文件,映像文件可以存放在本地磁盤上,也可以是類似於swift的對象存儲上,此處需要說明的是,每一個實例在啟動時是先將映像文件下載到該實例所在節點的本地磁盤後才進行啟動,當實例結束時,映像下載到本地磁盤的映像文件也隨之銷毀。
  3. Nova:計算節點,為沒一個實例提供具體的資源。
  4. Neutron:提供網絡功能,openstack最復雜的組建當屬網絡組件,後續中會有詳細介紹。

以上是openstack的4個核心組件,用的比較多的2個可選組件為:
1.Cinder:通過上面知道當實例關閉時通過Glance下載到本地磁盤的映像文件會隨著一並銷毀,Cinder就是提供存放持久數據的組建。
2.Horizon:提供一個控制面板,便於管理。

另外除了上述openstack組件外,openstack的實現還需要借助於額外的組件,例如RabbitMQ,MariaDB等,邏輯結構如下圖所示:
技術分享圖片

三、opsenstack間的通信

組件之間通過API相互通信,組建內部則是通過RPC(遠程調用)通信,以啟動一個實例進行說明,其通信的步驟為:
技術分享圖片

  1. 用戶發起認證請求;
  2. Keystone認證後根據用戶的角色返回令牌;
  3. 用戶拿著令牌向Nova節點發起請求;
  4. Nova節點驗證令牌後向Glance節點發起下載映像文件請求;
  5. Glance節點驗證後將映像文件發送至Nova節點本地磁盤;
  6. Nova節點啟動映像文件後在向Neutron節點發起網絡連接請求;
  7. Neutron節點驗證後為實例創建虛擬網絡設備,並將結果反饋給Nova節點,需要註意的是,當實例結束後,創建的虛擬網絡設備也會跟著銷毀;
  8. Nova節點給用戶反饋實力啟動完成。

有上述過程可以看到,每一個組件都會先於Keystone進行通信,從而進行認證和獲取其他相關組件的API。

四、實驗說明

本次實驗按照官方手冊說明進行,采用2節點方式,後期會引入第3個節點用於安裝Cinder組件,節點配置要求如下:
技術分享圖片
此實驗架構與標準最小化的openstack生產架構區別在於:

  1. 網絡代理安裝在控制節點上,生產環境中Neutron節點應該由1個或多個物理機組成。
  2. 在self-service網絡模式下,流量走的是管理網絡,升級生產環境中,所有實例的流量都會經過Neutron節點,所以該節點的性能和帶寬要足夠大。

技術分享圖片

五、實驗拓撲

初識openstack之3——opsenstack概念及實驗環境介紹