它最早由美國國家航空航天局(NASA)和 Rackspace 在 2010 年合做研發,如今參與的人員和組織聚集了來自 100 多個國家的超過 9500 名的我的和 850 多個世界上赫赫有名的企業,如 NASA、谷歌、惠普、Intel、IBM、微軟等。html
目前包括 6 個核心組件(Nova、Neutron、Swift、Cinder、Keystone、Glance)和 14 個可選組件,每一個組件包含若干個服務,後續版本中組件分類及數量均可能會發生變化,如圖 1 所示。數據庫
參考swift
openstack主要功能模塊api
A.Horizon-UI服務:提供ui層的功能,主要將用戶或者運維人員的操做轉化爲對api的調用。restful
B.keystone: 身份認證模塊。網絡
基本概念:運維
user 用戶 租戶:tenent 用戶可以訪問資源的集合 角色:表明一組用戶能夠訪問的權限 服務:nova,glance,swift,這些服務都會在keystone上註冊,當用戶訪問這些服務後就會進行權限控制。 endpoint: 服務訪問的地址,若是訪問一個服務必須知道其endpoint token: 訪問資源的令牌
keystone提供的服務:ide
identity: 用戶認證服務 token服務:生成token而且驗證token是否有效 catalog: 提供端點發現服務的註冊表 policy: 基於規則的身份驗證引擎
C.Nova 計算組件ui
OpenStack的核心服務:spa
實例生命週期管理(vm,裸機,容器) 計算資源的管理。 向外提供restful風格的api.
包含nova-api,nova-scheduler,nova-comput模塊
nova-api: 負責對外提供api
nova-scheduler: 負責決定vm建立在哪臺具體的物理機上。
nova-compute: 負責vm的具體建立以及資源的分配等等,不提供虛擬化功能,但支持kvm,xen等等。
三個模塊經過mq進行消息解耦。nova-api->nova-scheduler->nova-compute.
D.Glance 鏡像服務組件
提供鏡像的存儲,搜索和查詢等的服務,主要爲nova提供服務。
依賴存儲和數據庫服務。存儲提供鏡像的物理存儲,數據庫記錄鏡像的元信息。
E.swift 對象存儲服務
高可用的對象存儲服務。
account->container->object
F.cinder 塊存儲服務
塊存儲服務,管理全部塊存儲服務,塊存儲須要掛靠在vm上。
cinder request->cinder api->rabbit mq -> cinder scheduler ——> cinder volume
G.neutron
提供雲環境下的虛擬網絡功能
爲每個租戶提供獨立的網絡環境
主要有三種模式:
flat模式
flat dhcp模式
vlan 模式:爲每個租戶設置一個虛擬子網,用戶能夠本身設置本身的私有ip。