天天看點

搭建 OpenStack 實驗環境 - 每天5分鐘玩轉 OpenStack(16)部署拓撲實體資源需求網絡規劃

在學習 OpenStack 各服務之前,讓我們先搭建起一個實驗環境。

毋庸置疑,一個看得到摸得着而且允許我們随便折騰的 OpenStack 能夠提高我們的學習效率。

首先我們來設計 OpenStack 的部署拓撲。

OpenStack 是一個分布式系統,由若幹不同功能的節點(Node)組成:

控制節點(Controller Node)

管理 OpenStack,其上運作的服務有 Keystone、Glance、Horizon 以及 Nova 和 Neutron 中管理相關的元件。

控制節點也運作支援 OpenStack 的服務,例如 SQL 資料庫(通常是 MySQL)、消息隊列(通常是 RabbitMQ)和網絡時間服務 NTP。        

網絡節點(Network Node)

其上運作的服務為 Neutron。

為 OpenStack 提供 L2 和 L3 網絡。

包括虛拟機網絡、DHCP、路由、NAT 等。        

存儲節點(Storage Node)

提供塊存儲(Cinder)或對象存儲(Swift)服務。        

計算節點(Compute Node)

其上運作 Hypervisor(預設使用 KVM)。

同時運作 Neutron 服務的 agent,為虛拟機提供網絡支援。        

這幾類節點是從功能上進行的邏輯劃分,在實際部署時可以根據需求靈活配置,比如:

在大規模OpenStack生産環境中,每類節點都分别部署在若幹台實體伺服器上,各司其職并互相協作。 

這樣的環境具備很好的性能、伸縮性和高可用性。

在最小的實驗環境中,可以将 4 類節點部署到一個實體的甚至是虛拟伺服器上。 

麻雀雖小五髒俱全,通常也稱為 All-in-One 部署。

在我們的實驗環境中,為了使得拓撲簡潔同時功能完備,我們用兩個虛拟機:

devstack-controller:控制節點 + 網絡節點 + 塊存儲節點 + 計算節點

devstack-compute:計算節點

CPU 和記憶體供參考。

如果是在自己的 PC 機上建立虛機部署,資源可能達不到,可以适當調整。

網絡上規劃了三個網絡:

Management Network:用于 OpenStack 内部管理用,比如各服務之間通信。

這裡使用 eth0        

VM(Tenant)Network:OpenStack 部署的虛拟機所使用的網絡。

OpenStack 支援多租戶(Tenant),虛機是放在 Tenant 下的,是以叫 Tenant Network。

這裡使用 eth1        

External Network:一般來說,Tenant Network 是内部私有網絡,隻用于 VM 之間通信,與其他非 VM 網絡是隔離的。

這裡我們規劃了一個外部網絡(External Network),通過 devstak-controller 的 eth2 連接配接。

Neutron 通過 L3 服務讓 VM 能夠通路到 External Network。

對于公有雲,External Network 一般指的是 Internet。

對于企業私有雲,External Network 則可以是 Intranet 中的某個網絡。        

下一節開始部署控制節點和計算節點。

本文轉自CloudMan6 51CTO部落格,原文連結:http://blog.51cto.com/cloudman/1760017