1)keystone:身份認證與授權服務
keystone是openstack的身份認證與授權服務;
keystone負責對用戶進行身份認證,並向被認定為合法的用戶發放令牌(token)。用戶持keystone發放的令牌訪問openstack的其他項目,以使用其提供的服務。而各個組件中內嵌的令牌校驗和權限控制機制,將於keystone配合實現對用戶身份的識別和權限級別的控制,保證只有恰當的用用戶才能能夠對恰當的資源實施恰當的操作,以保證對不同用戶資源的隔離與保護。
2)nova:計算服務
nova是openstack中負責提供此類計算服務的項目;
向用戶按需提供不同規格的虛擬機,是任何一個雲操作系統最為基礎的功能,nova的核心功能,是將大量部署了計算虛擬化軟件(Hypervisor虛擬機監視器)的物理服務器統一納入管理之下,組成一個具有完整資源視圖的邏輯的資源池,在此基礎上,nova通過接收不同用戶發起的請求,對資源池中的資源進行生命周期管理操作。其中最核心的,就是虛擬機的創建、刪除、啟動、停止等操作。通過在執行客戶發起的虛擬機創建操作,nova將邏輯資源池中的cpu、內存、本地存儲、IO設備等資源,組裝成不同規格的虛擬機,再安裝上不同類型的操作系統,最終提供給用戶進行使用,由此滿足用戶對於計算資源的需求。
3)Glance:鏡像服務
Glance是openstack中鏡像管理服務項目;(華為雲服務:IMS)
通常而言,在虛擬機被創建之后,都需要為其安裝一個操作系統,以便用戶使用。為此,雲計算系統中往往需要預置若干不同種類、不同版本的操作系統鏡像,以便用戶選用。此外,在一些應用場景下,為進一步方便用戶,鏡像中還想需要預裝一些常用的應用軟件,這將進一步增加鏡像的種類與數量。為此,雲操作系統必須具備鏡像管理服務能力。Glance主要負責對系統中提供的各類鏡像的元數據進行管理,並提供鏡像的創建、刪除、查詢、上傳、下載等能力。但在正常的生產環境下,Glance本身並不直接負責鏡像文件的存儲,而是負責保管鏡像的元數據,本質上是一個管理前端,Glance需要與真正的對象存儲后端對接,才能共同提供完整的鏡像管理與存儲服務能力。
4)Swift:對象存儲服務
Swift是openstack中用於提供對象存儲服務的項目;(華為雲服務:OBS)
對象存儲服務是雲計算領域中一種常見的數據存儲服務,通常與存儲單文件數據量較大,訪問不甚頻繁、對數據訪問延遲要求不高、對數據存儲較為敏感的場景。Swift本身實現了完整的對象存儲系統功能,甚至可以獨立於openstack,被單獨作為一個對象存儲系統加以應用。在openstack中,Swift也可以作為Glance的后端存儲,負責存儲鏡像文件。
5)Cinder:塊存儲服務
Cinder是openstack中提供的塊存儲服務,也成為卷服務;(華為雲服務:EVS)
在典型的、基於KVM虛擬化技術的openstack部署方案下,Nova創建的虛擬機默認使用各個計算節點的本地文件系統作為數據存儲。這種數據存儲的生命周期與虛擬機本身的生命周期相同,即當需虛擬機被刪除時,數據存儲也隨之被刪除。如果用戶希望獲得生命周期獨立於虛擬機自身的、能持久存在的塊存儲介質,則需要使用Cinder提供的塊存儲服務。cinder負責將不同的后端存儲設備或軟件定義存儲集群提供的存儲能力,統一抽象為塊存儲資源池,然后根據不同需求划分為大小各異的卷,分配給用戶使用。
6)Neutron:網絡服務
Neutron是openstack中的網絡服務項目
網絡服務,是任意雲操作系統IaaS層能力的關鍵組成部分。只有基於穩定、易用、高性能的雲上虛擬網絡,用戶才能將雲計算系統提供的各類資源和服務能力連接成真正滿足需求的應用系統,以解決自身的實際業務需求。Neutron及其自身孵化出來的一系列子項目,共為用戶提供了從Layer2 到 Layer 7上不同層次的多種網絡服務功能,包括Layer2組網(network、subnet、port)、Layer3組網、內網DHCP管理、Internet浮動IP管理、內網防火牆、負載均衡、VPN、LB等。
7)Heat:資源編配服務
Heat是openstack中提供自動化應用系統生命周期管理能力
雲計算的核心價值之一,在於IT資源於服務管理和使用的自動化。用戶業務應用系統的生命周期管理操作,即應用系統的安裝、配置、擴容、撤除等,可謂是具有代表性的一類。這類操作復雜耗時耗力,Heat能解析用戶提交的,描述應用系統對資源類型、數量、連接關系要求的定義模板,並根據模板要求,調用Nova、Cinder、Neutron等項目提供的API,自動實現應用系統的部署工作。
8)Ceilometer:監控與計量
Ceilometer是openstack中負責資源用量監控和計量能力
在雲計算系統中,各類資源均以服務化的形式向用戶提供,用戶也需要按照所使用資源的類型和數量繳費。核心功能是以輪詢的方式,收集不同用戶所使用的資源類型與數量信息,以此作為計費的依據。在此基礎上,Ceilometer可以利用收集的信息,通過Aodh 子項目發送告警信號,觸發Heat項目執行彈性伸縮功能。需要說明的是,Ceilometer項目自身並不提供計費能力。系統設計者需要將其與適當的計費模塊相對接,才能實現完整的用戶計費功能。
9)Horizon:圖形界面
Horizon項目是openstack社區提供的圖形化人機界面
Horizon界面簡潔美觀,功能豐富易用,Horizor的架構高度插件化,靈活而易於擴展。