新的一年新的開始,突然想學習下Openstack,之前了解過很多,但是想系統的學習一下,第一次寫博客,只想把學到的東西記錄下來加深印象,如有寫的不好的地方請多多見諒。下面開門見山。
1.What is OpenStack?
是 Rackspace(貢獻swift)和NASA(貢獻nova)共同發起的開源項目,是一系列軟件開源項目的組合。基礎設施資源管理平台(類似操作系統可以管理硬件池,可以根據需求提供資源)。
OpenStack三大核心組件(網絡,計算,存儲)
概念架構圖
邏輯架構圖
Core Services (6)
NAME | SERVICE | |
---|---|---|
KEYSTONE | Identity | 認證* |
GLANCE | Image | 鏡像* |
NOVA | Compute | 計算* |
NEUTRON | Networking | 網絡* |
CINDER | Block Storage | 塊存儲 |
SWIFT | Object Storage | 對象存儲 |
Optional Services (13)
NAME | SERVICE | |
---|---|---|
Horizon | Dashboard | 面板* |
Heat | Orchestration | 編配 |
Ceilometer | Telemetry | 監控 |
Sahara | Elastic Map Reduce | 大數據部署 |
....... | ....... |
1.Horizon(UI模塊)
頁面調用api(兩種用戶雲管理員,雲用戶)
2.keystone(身份服務模塊)
1)用戶身份認證(Idemity)
user:用戶(租戶下有很多用戶,驗證方式用戶名密碼,API keys等)
kenant:租戶(可以訪問資源的集合)
role:角色 (一組用戶可以訪問資源的權限)
2)訪問請求控制(Token)
Service(nova,glance,swift等服務需要在keystone上注冊)
Endpoint(service暴露出來的訪問地址)
Token(訪問資源的令牌,具有時效性)
3)注冊表服務(Catalog)
openstack服務需要注冊到keystone注冊表中
4)身份驗證引擎(Policy)
決定用戶有哪些訪問控制權限
易購環境的集成(Key Value Store,MemcachedSQL,PAM,LDAP)
3.Nova(計算服務組件)
openstack核心組件,核心服務包括:實例生命周期的管理(虛擬機),計算資源的管理,對外提供Restful API。
Nova組件主要有三個模塊構成(nova-api,nova-scheduler,nova-compute),
nova-api在表示層主要負責處理外部請求,nova-scheduler在邏輯控制層,主要負責選擇那個主機創建VM,nova-compute虛擬機創建和資源分配,不提供虛擬化功能,但是支持kvm,LXC,xen等。
三個組件通過rabbit MQ進行消息傳遞。
4.Glance(鏡像服務組件)
主要功能:提供虛擬機鏡像的存儲,查詢和檢索功能,為nova進行服務,依賴於存儲服務(存儲鏡像本身)和數據庫服務(存儲鏡像相關的數據)。
5.Swift(對象存儲服務模塊)
openstack核心組件,主要功能:高可用分布式對象存儲服務,特點是無限和擴展沒有單點故障。
account-->container-->Object 某個賬戶下的某個容器的某個對象,可以通過HTTP(S),Object API,S3進行存取。
6.Cinder(塊存儲服務模塊)
主要功能:管理所有塊存儲設備,為VM服務。
cinder-api處理發送過來的請求,處理結果發送到rabbit MQ,通過消息中間件把所有請求發送到cinder-scheduler,通過調度器決定存儲到哪里,並且創建VM,cinder-volume管理存儲模塊的生命周期。
7.Neutorn(網絡服務組件)
主要功能:為雲計算提供虛擬的網絡功能,為每個不同的租戶建立獨立的網路環境。
三種不同的網絡模式(Flat模式 Flat DHCP模式,Vlan模式)
8.Ceilometer(監控服務組件)
Ceilometer 的目標是 計量 Metering 方面,為上層的計費、結算或者監控應用提供統一的資源使用數據收集功能。
核心組件間的關系
訪問控制流程
以上是對openstack組件的基礎介紹,后續將會陸續更新openstack相關的其他內容。如有錯誤歡迎指出。