天天看點

緻新手——OpenStack雲倒底是什麼?

在本次scale 14x上,各位參與者将能夠聆聽anthony chow就如何為openstack項目做出貢獻這一議題提供的講解與引導。

anthony是一位網絡工程師,他對共享及改進技術成果進而推動社群發展充滿熱情。他目前正緻力于參與docker以及openstack magnum項目。

緻新手——OpenStack雲倒底是什麼?

在本次訪談當中,anthony解釋了openstack的具體定義、其如何與容器實作協作以及其能夠給企業帶來哪些助益。

openstack是什麼?誰适合使用openstack?

openstack是一套開源雲作業系統,由python語言編寫而成且負責通過指令行界面(簡稱cli)或者基于web的儀表闆實作對計算、存儲以及網絡資源池的管理工作。其在設計上可運作于商用硬體底層,且有時候會被作為基礎設施即服務(簡稱iaas)實作方案使用。openstack可運作在各類常見linux平台之上,具體包括rhel、suse以及ubuntu等等。

openstack是一套基礎設施(大家也可以将其簡單了解為‘雲’)。它能夠建立出一套環境,進而提供按需增加或者降低的資源配置設定機制,而且實際資源不必來源于單一位置。大資料、web服務以及網絡功能虛拟化(簡稱nfv)等面向服務供應商的功能都是openstack發揮作用的良好舞台。

openstack包含哪些關鍵性服務與元件?它們的具體作用又是什麼?

openstack采用一年兩次的釋出周期,而且各釋出版本各自擁有不同名稱而非簡單的數字序列,是以其首個版本名為austin,目前的版本為mitaka,其間還曾出現過liberty與kilo兩個版本。自kilo版本以來,openstack已經逐漸由最初的孵化/內建模式轉化為大帳篷模式,即項目中的各标簽擁有自己的特定屬性。

雲基礎設施當中的核心元件包括計算、存儲與網絡三大類。這些元件在openstack當中被稱為核心服務,而其它元素則被稱為共享服務。

計算:

nova: 提供按需虛拟機機制。

存儲:

swift: 提供支援對象存儲的可擴充存儲系統。

cinder: 為訪客虛拟機提供持久塊存儲機制。

網絡:

neutron: 為由openstack各服務管理的不同接口裝置提供彼此之間的網絡連接配接即服務。

共享服務:

keystone: 為全部openstack服務提供授權與驗證機制。

glance: 為虛拟磁盤鏡像提供目錄與庫。

horizon: 為各openstack服務提供一套子產品化、基于web的使用者界面。

ceilometer: 為計費系統提供單一聯系點。

heat: 為多種複合型雲應用程式提供編排服務。

trove: 為各類關系型與非關系型資料庫引擎提供資料庫即服務(簡稱dbaas)配置機制。

sahara: 為各資料敏感型應用叢集提供配置服務。

magnum: 為容器部署與管理場景提供容器編排引擎。

當然,以上列出的隻是其中最為常見的各類項目。新型項目在每個版本當中都将陸續增加。

由于已經轉化為大帳篷式項目,如今有越來越多的項目成為openstack的組成部分。另外管理委員會還在緻力于建構openstack defcore,這是一套最小化功能集,其中的各類産品必須經過認證才能冠以openstack名頭。

為什麼使用openstack而非其它傳統虛拟化工具?相較于其它虛拟機管理程式,它能夠帶來哪些額外助益?

虛拟化工具能夠對實體硬體中的資源進行抽象,并在管理流程中加入自動化機制。

openstack還更進一步建立起一套彈性、自助服務型可測量基礎設施,旨在管理計算、存儲與網絡資源池。openstack管理下的各類資源可為實體或者虛拟形式。

openstack如何與容器進行協作?這種方式對于企業有何吸引力?

magnum項目利用openstack作為基礎設施,旨在部署docker容器。在magnum項目出現之前,docker容器隻算是nova(openstack中的一項計算服務)内的虛拟機管理程式類型之一。

magnum項目提出了pod、bay與服務的概念,我們可以将三者結合起來作為單一應用程式,并通過通路政策加以控制。

視窗編排引擎(簡稱coe)允許大家将多個docker容器作為同一單元進行部署。就目前來講,magnum項目所能支援的coe包括:

docker swarm

kubernetes

apache mesos

目前在企業領域最具人氣的容器技術應用方案當數微服務架構,其指導原則是将一個大型正常應用程式拆分成多個以容器形式實作的“微服務”。這種應用程式部署層面的新趨勢能夠提供可觀的靈活性、可擴充性以及高可用性。

liberty版本為我們帶來了kuryr項目,其立足于neutron構成而成并解決openstack基礎設施當中為容器指定網絡資源的傳統難題。

典型的openstack部署該是什麼樣的?

我認為不存在所謂典型的openstack部署方案,而這也正是openstack最大的吸引力所在。盡管這并不是什麼以不變應萬變的産品,但openstack确實能夠提供一套極具靈活性的豐富基礎設施。它的實際能力隻受限于與之搭配的具體架構。openstack就像是樂高積木;

我們可以根據具體部署要求将其接入任何位置。除了openstack資源能夠表現出彈性,其功能集也同樣具備彈性特征,意味着我們可以随時添加及删除功能集。

本文轉自d1net(轉載)