OpenStack對於初學者而言,自己就是一個比較大的挑戰,其內容繁多,且迭代更新週期較短,從官方網站能夠看出目前最新發行的版本爲Train版本(2019年10月發佈,通常每6個月爲一次版本更新,而版本更新將意味着某些先前的版本將再也不支持使用),或者通常咱們稱之爲T版本。下圖爲OpenStack官方的logo圖標,感受看上去很是簡潔明瞭。web
OpenStack不斷地更新,優化,這說明雲計算還在不斷地發展,走向成熟,而OpenStack做爲雲計算的產物也一定會跟隨着時代技術的發展而發展。這也是哲學生活中事物發展的客觀規律。面試
那麼今天咱們就來揭開OpenStack的神祕面紗,經過本文你能夠了解到關於OpenStack的如下幾個方面:數據庫
還記得以前筆者在談到對雲計算的理解時說過,雲計算的概念是在2006年提出的,而OpenStack則是雲計算的產物之一。OpenStack起源於雲計算,它的發展可謂是突飛猛進,很是迅速。並且對於雲計算而言,它的存在與發展對雲計算領域也有着很大的影響力,這也使得OpenStack項目成爲業內全部人不得不關注的焦點。安全
OpenStack項目早在2010年就成立了,你們可能以爲好久遠了,可是OpenStack所經歷的風雨,所積澱的時間,換來的是一次次優化,一個個項目的孵化成功以及一系列版本的更新。網絡
短短10年歲月,那時咱們大部分人可能根本不知道什麼是OpenStack,甚至連雲計算是個什麼鬼都不瞭解,而云計算的發展,OpenStack的更新卻從未停滯。OpenStack從A版本發展到現在的T版本,加入研究的企業與愛好者,使用者,消費者愈來愈龐大,這也說明OpenStack做爲雲計算的產物在雲計算領域有着一席之地。架構
那麼究竟什麼是OpenStack呢?下面咱們來簡要講述OpenStack的概念。框架
先前筆者在前面的文章中談到雲計算的時候,簡要介紹過雲計算有三種雲服務模式,而第一種,即IaaS(基礎設施即服務)是目前雲服務商提供最多的雲服務。而OpenStack是其最爲典型的例子,很是符合該類型雲服務的特色。分佈式
查閱官方網站的資料,其對OpenStack的定義以下:ide
閱讀完該內容咱們能夠初步瞭解這些內容:工具
由此可知,簡單來說OpenStack就是一個控制計算、網絡和存儲資源的分佈式雲操做系統。咱們也能夠將其當成一個雲平臺,能夠在之上部署第三方服務和使用OpenStack內置工具。下圖就是官方給出的對OpenStack的介紹圖。
經過上圖,咱們能夠了解到OpenStack能夠裸機部署、能夠建立虛擬機實例、也能夠結合容器。在OpenStack平臺上咱們不只可使用內置的工具(OpenStack開發包、web界面)開發或管理咱們的OpenStack平臺(私有云),並且咱們能夠部署企業所須要的第三方服務如kubernetes、CloudFoundry、Terraform等等。
咱們看一下官方給出的OpenStack的總體格局,以下圖所示:
有些讀者可能以爲OpenStack很複雜,想的沒錯,筆者也這樣認爲,呵呵~~。不過該圖是會按期更新的。
咱們能夠發現上圖給出的相關內容單詞的粗淺程度是不同的,筆者認爲這多是一種出於人性化的考慮,加粗的通常而言是比較核心主要的,未加粗的相對而言未必是核心,而是根據本身的須要進行獲取安裝。而這些就是組成整個OpenStack的細化分支。而當咱們繼續往下閱讀時,會發現官網提供了相關的doc文檔開發包以及相關工具。文檔主要是爲了介紹和如何使用這些構成OpenStack的相關內容。咱們將這些組成部分稱做各類組件,每一種組件有與之對應的項目。
在對這些組件介紹以前,咱們先總體瞭解一下OpenStack的概覽圖。
先來看最右邊的,OpenStack-operations,它包含着有助於操做OpenStack的附加組件。
接着看底部,OpenStack-lifecyclemanagement,這顯示了可用於促進OpenStack的安裝和生命週期管理的各類解決方案。
而後是左邊,OpenStack-user,顯然這是使用者,即用戶。這裏包含了工具,管理員能夠安裝這些工具。而OpenStack-adjacentenablers包含的是幫助其餘技術堆棧來利用OpenStack服務的工具。
最後就是中間,OpenStack的核心內容,包括相關組件和與之對應的項目。
若是對這個概覽不明白沒沒什麼關係,對應OpenStack的理解主要仍是在概念和其核心內容。下面咱們將簡要概述一下OpenStack的核心組件。
其實,根據上面的概圖,咱們大體也知道了有關OpenStack的一些核心部分。考慮到是入門理論,在這裏我就簡單地概述羅列一下,可能對面試仍是有些用處的。固然,OpenStack包含的組件很是多,並且還在不斷更新和完善。其實諸多組件的誕生都是先在孵化項目中,成熟以後纔會在新的版本中測試發佈。
因此,這裏就總結一下比較重要的組件。若是有更大的興趣和需求也能夠閱讀官網的英文文檔,本文就不作太多內容的介紹了。
組件 | 項目 | 項目說明 |
---|---|---|
Compute(計算服務) | Nova | 實施服務和關聯的庫,以提供對可計算資源(包括裸機,虛擬機和容器)的大規模可擴展的按需自助服務訪問 |
Identity Service(認證服務) | Keystone | 提供API客戶端身份驗證,服務發現和分佈式多租戶受權 |
Image Service(鏡像服務) | Glance | 發現,註冊和檢索虛擬機映像。Glance具備一個RESTful API,該API容許查詢VM映像元數據以及檢索實際映像。經過Glance提供的VM映像能夠存儲在從簡單文件系統到對象存儲系統(例如OpenStack Swift項目)的各類位置。 |
Networking(網絡服務) | Neutron | SDN網絡項目,在虛擬計算環境中交付網絡即服務 |
Dashboard(儀表板) | Horizon | 爲OpenStack服務提供基於Web的用戶界面 |
Block Storage(塊存儲) | Cinder | 虛擬化了塊存儲設備的管理,併爲最終用戶提供了自助服務API,以請求和使用這些資源,而無需瞭解其存儲實際部署在何處或在哪一種類型的設備上。 |
Object Storage(對象存儲) | Swift | 高度可用的,分佈式的,最終一致的對象存儲。組織可使用Swift來高效、安全和廉價地存儲大量數據。 |
Telemetry(計量服務) | Ceilometer | 有效收集,規範化和轉換OpenStack服務產生的數據 |
Orchestration(編排服務) | Heat | 基於文本文件形式的模板,爲雲應用程序協調基礎結構資源,能夠將其視爲代碼 |
Database Service(數據庫服務) | Trove | 一個數據庫即服務供應關係和非關係數據庫引擎 |
Data Processing(數據處理) | Sahara | 爲用戶提供一種簡單的方法來在OpenStack上預配數據處理框架(例如Hadoop,Spark和Storm) |
在以後的文章中會對其中的最爲核心的組件作詳細介紹。
本文基於雲計算的基礎上,講述了OpenStack相關概念。本文旨在爲了給OpenStack的初學者一個對OpenStack的初步認知,知道什麼是OpenStack是什麼,瞭解大體的格局結構以及記住上述的一些重要組件服務和項目,而且對這些項目的做用和說明有必定了解。
以後咱們會結合理論與實踐來對OpenStack做進一步理解。謝謝閱讀!