跳至主要内容

系統概覽

使命

Infra Labs 為 CNTUG(Cloud Native Taiwan User Group)成員提供社群基礎設施即服務(IaaS)。平台提供運算、儲存及網路資源,讓社群成員得以執行工作負載、實驗雲端原生技術,並參與開源專案——全程使用真正的生產等級基礎設施。


技術選型

層級技術備註
雲端平台OpenStack透過 Kolla-Ansible 部署(容器化服務)
儲存Ceph透過 Cephadm 部署;提供 block(RBD)、object(RGW/S3)及 filesystem(CephFS)
網路(overlay)OVN分散式虛擬路由器、交換器、安全群組及負載均衡器
網路(實體)Arista DCS-7060CX-32S(核心)、Juniper NFX250(邊界)BGP、VLAN trunking、100G 上行鏈路
管理交換器Juniper EX3300-48T帶外管理及 IPMI 存取
運算架構x86_64所有伺服器皆使用 AMD EPYC 或 Intel Xeon 處理器

實體位置

所有設備部署於台灣一座共置機房的單一機櫃中。上游連線透過兩條 100G 鏈路連接至 AS 38008。


實體設備清冊

伺服器

主機名稱角色架構備註
openstack01Controller + Compute + Ceph OSDx86_64
openstack02Controller + Compute + Ceph OSDx86_64
openstack04Controller + Compute + Ceph OSDx86_64
openstack05Compute + Ceph OSDx86_64
openstack06Ceph OSDx86_64

三台伺服器(openstack01、openstack02、openstack04)組成具備高可用性(HAProxy、Keepalived)的 OpenStack 控制平面。全部五台伺服器皆參與 Ceph 叢集作為 OSD 節點(4 台同時運行 Ceph 和運算工作負載;openstack06 為純儲存節點)。四個節點運行 Nova compute(openstack01、openstack02、openstack04、openstack05)。

網路設備

設備型號角色
Arista 核心交換器DCS-7060CX-32S核心路由與交換、與上游 BGP peering、100G fabric
Juniper NFX250NFX250邊界功能、IPMI 連線(8x RJ-45 ge-0/0/0 至 ge-0/0/7)
Juniper 管理交換器EX3300-48T帶外管理、IPMI

公開服務

服務網址說明
OpenStack 儀表板openstack.cloudnative.twHorizon 及 Skyline 網頁介面,供租戶自助操作
S3 相容物件儲存s3.cloudnative.twCeph RGW 端點,提供 S3 API

IP 定址

Infra Labs 採用 IPv4 與 IPv6 dual stack。

協定前綴
IPv4103.122.116.0/23
IPv62403:8ec0::/48

BGP

參數
本地 ASNAS 147035
上游 ASNAS 38008
上行鏈路容量2 x 100G(Arista 7060CX-32S)

架構決策紀錄

決策 1:為何選擇 OpenStack

背景: 平台需要一個成熟的開源 IaaS 層,支援多租戶、自助配置,以及廣泛的生態系整合。

決策: 採用 OpenStack 作為雲端平台。

理由:

  • 開源私有雲的事實標準。
  • 豐富的 API 介面,相容眾多 CLI/SDK 工具。
  • 龐大的貢獻者社群及長期支援週期。
  • 讓 CNTUG 成員獲得真實的維運經驗。

決策 2:為何選擇 Ceph

背景: 平台需要 block storage(VM volumes)、object storage(S3 相容),以及潛在的 filesystem storage,理想情況下由單一統一系統提供。

決策: 採用 Ceph 作為統一儲存後端。

理由:

  • 單一叢集同時提供 RBD(Cinder/Glance 的 block storage)、RGW(S3 相容 object storage)及 CephFS(共享檔案系統)。
  • 可透過新增 OSD 節點水平擴展。
  • 與 OpenStack 緊密整合(原生 Cinder 及 Glance 驅動程式)。
  • 成熟且經全球生產環境實戰驗證。

決策 3:為何選擇 Kolla-Ansible

背景: OpenStack 包含數十個服務,且服務間相依性複雜。部署工具必須可由小型志工團隊維護。

決策: 使用 Kolla-Ansible(容器化服務)部署 OpenStack。

理由:

  • 每個 OpenStack 服務運行於獨立容器中,隔離相依套件。
  • 滾動升級簡便(拉取新映像、重啟容器)。
  • 文件完善,在 OpenStack 社群中廣泛使用。
  • 組態為宣告式(Ansible 變數),存於版本控制中。

決策 4:為何選擇 OVN

背景: 網路層必須支援租戶隔離、分散式路由、安全群組及浮動 IP,且無需集中式瓶頸。

決策: 採用 OVN(Open Virtual Network)作為 Neutron ML2 mechanism driver。

理由:

  • 完全分散式資料平面——無需集中式網路節點。
  • 原生支援分散式路由器、ACL 及 DHCP。
  • 在 OVS 專案下積極進行上游開發。
  • 以更簡潔的架構取代舊版 ML2/OVS agent。

下一步

前往網路架構瞭解實體拓撲、VLAN 規劃、BGP peering 及 OVN overlay 網路的詳細資訊。