OpenStack-雲端計算,虛擬化技術,初步認識OpenStack,瞭解OpenStack的結構部署以及OpenStack核心專案

文文x發表於2020-10-22

通用雲平臺部署-引
在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述
雲端計算的架構
IaaS Infrastructure as a Service(基礎架構即服務),主要為企業提供基礎設定服務,如計算,儲存,網路,開源的解決方案有:Openstack,Cloustack,Eucalyptus,OpenNebula,商業(VMware vSphere);
PaaS Platform-as-a-Service(平臺即服務),主要為企業應用提供開發執行環境,存在各類複雜的開發環境,目前常見的開源解決方案有:Docker,Cloudfondry,OpenShift等; 商業的解決方案如Google App Engine,Microsoft Azure等;
SaaS Software-as-a-Service(軟體即服務),提供軟體服務,目前這類雲較少,典型的有Citrix XenApp,GoogleDocs,MicrosoftOfficeOnline;
在這裡插入圖片描述
舉例說明OpenStack與虛擬化軟體的關係:
在使用KVM作為OpenStack的虛擬化軟體時,仍然由KVM完成將一臺物理伺服器虛擬為多臺虛擬機器的功能,而OpenStack負責記錄與維護資源池的狀態。
例如,系統中一共有多少臺伺服器,每臺伺服器的資源共有多少,其中已經向使用者分配了多少,還有多少資源空閒。在此基礎上,OpenStack負責根據使用者的要求,向KVM下發各類控制命令,執行相應的虛擬機器生命週期管理操作,如虛擬機器的建立、刪除、啟動、關機等。
由此可見,兩相對比, OpenStack更像是系統的控制中樞,是雲作業系統的“大腦”;計算虛擬化軟體則更像是系統的執行機構,是雲作業系統的“肢體”。二者分工合作,共同完成對雲端計算系統中的計算資源池的管理,但絕不能認為OpenStack等同於計算虛擬化軟體。

OpenStack已釋出的歷史版本:
在這裡插入圖片描述
在這裡插入圖片描述
專案結構:
在這裡插入圖片描述
OpenStack架構:
在這裡插入圖片描述
在這裡插入圖片描述
說明:
1. horizon以圖形的方式管理所有的project,包括nova虛擬機器的建立,neutron網路,cinder儲存,glance映象等;
2. keystone為所有的服務提供認證和授權服務,通過keystone能夠找到各個服務的endpoint,如nova的地址,neutron的地址,glance的地址,cinder的地址等;
3. 建立虛擬機器,需要提交請求給nova-api,nova通過nova-scheduler選擇合適的compue,nova和底層的hypervisor互動,需要建立虛擬機器最初工作;
4. 虛擬機器的建立需要下載合適的映象,此時會請求glance-api,glance通過glance-registry找到和下載到合適的映象到compute啟動;
5. glance的映象可以存放在不同的地方,如本地的Filesystem,統一儲存ceph或者是swift上;
6. instance執行時需要建立網路,將請求交給neutron-server,neutron-server會根據網路請求,為虛擬機器分配地址,建立網橋,構建iptables安全組規則,此時一個普通的instance就基本可以建立完成了;
7. instance如果需要外掛儲存的話,可以向cinder-api發起請求,通過cinder-scheduler選擇到合適的cinder-volume之後,cinder-volume會向端的儲存請求儲存空間,之後交由instance;
8. 和image類似,cinder的備份或者快照檔案,可以儲存在分散式的物件儲存swift上;

說明:
以上是openstack各元件之間的互動關係,當然這只是籠統的元件之間的交換關係,具體詳細的互動流程非常複雜,設計到訊息佇列MQ與資料持久儲存DB和各元件api之間的互動關係,具體instance建立的詳細流程,可以查閱原始碼獲取更詳細的流程。
在這裡插入圖片描述
核心專案:
在這裡插入圖片描述
在這裡插入圖片描述

相關文章