雲計算時代,你需要了解的OpenStack雲操作系統

前言

OpenStack是目前最流行的開源雲操作系統,學習和掌握開源OpenStack知識將幫助雲計算從業者打好堅實的基礎。
本文是HCIP-Cloud Computing-OpenStack認證第一章,幫助讀者初步瞭解OpenStack,爲後續的深入學習打下基礎。

OpenStack簡介

OpenStack定義

OpenStack是開源雲操作系統,可控制整個數據中心的大型計算,存儲和網絡資源池。用戶能夠通過web界面、命令行或API接口配置資源。
OpenStack社區網站:www.openstack.org
OpenStack定義

OpenStack和虛擬化、雲計算的關係

OpenStack是虛擬化和雲計算之間的紐帶。
虛擬化提供資源,
OpenStack對外提供服務,同時也可以管理下面這些資源。
OpenStack和虛擬化、雲計算的關係

  • OpenStack不是虛擬化

    • OpenStack的架構定位與技術範疇
      OpenStack只是系統的控制面
      OpenStack不包括系統的數據面組件,如Hypervisor、存儲和網絡設備等。
    • OpenStack和虛擬化有着關鍵的區別
      虛擬化是OpenStack底層的技術實現手段之一,但並非核心關注點
      OpenStack不是虛擬化
  • OpenStack不是雲計算

    • OpenStack只是構建雲計算的關鍵組件
      內核、骨幹、框架、總線
    • 爲了構建雲計算,我們還需要很多東西
      OpenStack不是雲計算

OpenStack的設計思想

  • 開放
    • 開源,並儘可能重用已有開源項目
    • 不要“重複發明輪子”
  • 靈活
    • 不使用任何不可替代的私有/商業組件
    • 大量使用插件方式進行架構設計與實現
  • 可擴展
    • 由多個相互獨立的項目組成
    • 每個項目包含多個獨立服務組件
    • 無中心架構
    • 無狀態架構

Apache 2.0 License
約70%的代碼(核心邏輯)使用python開發

缺點:開源部分過多,使得系統變得相對比較繁瑣。各組件之間的交互理解起來也比較麻煩。如果不熟悉OpenStack,遇到問題排錯很難。

OpenStack歷史版本

  • OpenStack每年兩個大版本,一般在4月和10月中旬發佈,版本命名從字母A-Z。
    OpenStack歷史版本

OpenStack架構

OpenStack架構圖

  • 粗體字標識爲OpenStack核心服務
  • OpenStack的服務分爲如下幾大類:
    • 計算
    • 存儲
    • 網絡
    • 共用服務
    • 硬件生命週期
    • 編排
    • 工作流
    • 應用程序生命週期
    • API代理
    • 操作界面
  • OpenStack服務組件通過消息隊列(Message Queue)相互通信。
  • OpenStack組件衆多,建議重點關注計算、存儲和網絡服務組件,其他服務可以在實際工作需要時再進行學習。

OpenStack架構圖

OpenStack生產環境部署架構示例

  • 生產環境中,一般會有專門的OpenStack部署服務節點、控制節點、計算節點、網絡節點和存儲服務節點等。
  • 生產環境的控制節點建議三臺以上,其他節點按要求部署。
  • 如果只是測試,OpenStack服務可以部署在單節點上。
    OpenStack生產環境部署架構示例

OpenStack核心服務簡介

認證服務Ketstone

  • Keystone
    認證服務
    首次出現在OpenStack的“Essex”版本中。
  • 簡介
    Keystone提供身份驗證,服務發現和分佈式多租戶授權。
    Keystone支持LDAP,OAuth,OpenID Connect,SAML和SQL。
    • LDAP:Lightweight Directory Access Protocol,輕量目錄訪問協議
    • OAuth:Open Authorization,爲用戶資源的授權提供了一個安全的,開放而又簡單的標準。
    • OpenID Connect:OpenID和OAuth2的合集。
    • SAML:Security Assertion Markup Language,安全斷言標記語言,是一個基於XML的開源標準數據格式,它在當事方之間交換身份驗證和授權數據尤其是在身份提供者和服務提供者之間交換。
  • 依賴的OpenStack服務
    不依賴其他OpenStack服務,爲其他OpenStack服務提供認證支持。
    認證服務Keystone

操作界面Horizon

  • Keystone
    操作界面
    首次出現在OpenStack的“Essex”版本中。
  • 簡介
    Horizon提供基於Web的控制界面,使雲管理員和用戶能夠管理各種OpenStack資源和服務。
  • 依賴的OpenStack服務
    Keystone
    操作界面Horizon

鏡像服務Glance

  • GLANCE
    鏡像服務
    首次出現在OpenStack的“Bexar”版本中。
  • 簡介
    Glance提供發現、註冊和檢索虛擬機鏡像功能。
    Glance提供的虛擬機實例鏡像可以存放在不同地方,例如本地文件系統、對象存儲、塊存儲等。
  • 依賴的OpenStack服務
    Keystone
    Glance

計算服務Nova

  • Nova
    計算服務
    首次出現在OpenStack的“Austin”版本中。
  • 簡介
    Nova提供大規模、可擴展、按需自助服務的計算資源。
    Nova支持管理裸機、虛擬機和容器。
  • 依賴的OpenStack服務
    Keystone、Neutron(網絡)、Glance(鏡像服務)
    計算服務

塊存儲服務Cinder

  • Cinder
    塊存儲服務
    首次出現在OpenStack的“Folsom”版本中。
  • 簡介
    Cinder提供塊存儲服務,爲虛擬機實例提供持久化存儲。
    Cinder調用不同存儲接口驅動,將存儲設備轉化成塊存儲池,用戶無需瞭解存儲實際部署的位置或設備類型。
  • 依賴的OpenStack服務
    Keystone
    塊存儲服務Cinder

對象存儲服務Swift

  • Swift
    對象存儲服務
    首次出現在OpenStack的“Austin”版本中。
  • 簡介
    Swift提供高度可用、分佈式、最終一致的對象存儲服務。
    Swift可以高效、安全的且廉價的地存儲大量數據。
    swift非常適合存儲需要彈性擴展的非結構化數據。
  • 依賴的OpenStack服務
    爲其他OpenStack服務提供對象存儲服務。
    對象存儲服務Swift

網絡服務Neutron

  • Neutron
    網絡服務首次出現在OpenStack的“Folsom”版本中。
  • 簡介
    Neutron負責管理虛擬網絡組件,專注於爲OpenStack提供網絡即服務。
  • 依賴的OpenStack服務
    Keystone
    網絡服務Neutron

編排服務Heat

  • Heat
    編排服務
    首次出現在OpenStack的“Havana”版本中。
  • 簡介
    Heat爲雲應用程序編排OpenStack基礎架構資源。
    Heat提供OpenStack原生Rest API和CloudFormation兼容的查詢API
  • 依賴的OpenStack服務
    Keystone
    Heat

OpenStack服務間交互示例

創建一個VM需要的資源

在OpenStack中創建虛擬機,資源需求和物理PC類似。
創建一個VM需要的資源

OpenStack創建VM,服務間交互示例

  • OpenStack核心工作之一是虛擬機生命週期管理。
  • 虛擬機實例創建時,各OpenStack服務協調工作,完成任務。
    OpenStack創建VM,服務間交互示例

OpenStack動手實驗:體驗OpenStack

OpenStack Training Labs環境安裝步驟

OpenStack Training Labs環境安裝步驟

OpenStack Training Labs腳本安裝流程

  • 安裝OpenStack Training Labs環境時,只需執行一條腳本命令:
$./st.py -b cluster
  • 腳本會自動化完成OpenStack培訓環境搭建過程,安裝完成後,會有一個OpenStack控制節點和一個OpenStack計算節點。
    OpenStack Training Labs腳本安裝流程
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章