- OpenShift在企業中的實踐:PaaS DevOps微服務(第2版)
- 魏新宇 郭躍軍
- 781字
- 2021-11-05 10:17:16
3.1 OpenShift部署架構參考
由于每個企業的基礎設施環境不同,讀者需結合實際的企業基礎設施現狀做適當調整。我們僅給出通用的單個集群的高可用架構,如圖3-1所示。
圖3-1體現了大部分情況下OpenShift高可用部署架構的形態,也是我們落地實施最多的一種部署架構。
OpenShift集群要求有且只有3個Master節點,如果集群的Worker節點數量很多,可以增加Master節點的CPU、內存資源,而不必再增加Master節點的數量。每個Master節點上運行一個Etcd進程實現Etcd高可用集群。對于Master API層面則通過軟件負載均衡實現高可用,提供集群管理的入口。
計算節點分為Infra節點和App節點,App節點運行業務應用,Infra節點運行基礎組件,圖3-1中Infra節點有三個,每個節點上運行一個Router容器、一個內部鏡像倉庫容器,Router作為應用訪問的入口,同樣通過負載均衡實現高可用;內部鏡像倉庫需要將數據存儲掛載到后端存儲上,這樣無狀態的應用直接啟動多個實例就可以實現高可用。這些內容正是我們上一章所介紹的,可以根據需要增加Infra節點和App節點。非生產環境如果資源有限,可以不單獨配置Infra節點,和App節點混用即可。
在很多實際客戶的落地情況中,僅僅有一個集群是不夠的,會根據環境創建開發、測試、生產等多套集群,如圖3-2所示。

圖3-1 單集群高可用部署架構

圖3-2 實際客戶的多套OpenShift環境
當然,也有些客戶為了節省資源,會將開發集群和測試集群合并為一個集群,在OpenShfit層面通過項目實現邏輯隔離。在圖3-3中,生產環境和非生產環境做物理隔離,在非生產集群中,通過項目隔離,實現開發和測試兩個環節。

圖3-3 OpenShift集群隔離和項目隔離
在部署了多套OpenShift集群后,多套集群之間如何聯動?例如,在圖3-3所示的測試環境與生產環境中,測試通過的鏡像要發布到生產環境。最直接的方法是通過手動或者工具將鏡像拷貝實現交付物流轉,更高級的方法是引入CI/CD實現交付物在不同環境的流轉與發布,這將在本書的第7章進行介紹。
到此為止,OpenShift的架構及規劃就介紹完了,下面我們以最常見的部署架構進行實際的安裝部署配置。
- The Complete Rust Programming Reference Guide
- 從零構建知識圖譜:技術、方法與案例
- jQuery Mobile Web Development Essentials(Third Edition)
- Hyper-V 2016 Best Practices
- HoloLens Beginner's Guide
- Learning RxJava
- Reactive Programming with Swift
- Java游戲服務器架構實戰
- Java持續交付
- FPGA Verilog開發實戰指南:基于Intel Cyclone IV(進階篇)
- C語言程序設計上機指導與習題解答(第2版)
- Building Dynamics CRM 2015 Dashboards with Power BI
- Python Machine Learning Blueprints:Intuitive data projects you can relate to
- 寫給大家看的Midjourney設計書
- C#面向對象程序設計(第2版)