bk-cmdb藍(lán)鯨智云配置平臺
藍(lán)鯨配置平臺(藍(lán)鯨 CMDB)是一個面向資產(chǎn)及應(yīng)用的企業(yè)級配置管理平臺。藍(lán)鯨智云體系的平臺之一。
藍(lán)鯨配置平臺提供了全新自定義模型管理,用戶不僅可以方便地實現(xiàn)內(nèi)置模型屬性的拓展,同時也能夠根據(jù)不同的企業(yè)需求隨時新增模型和關(guān)聯(lián)關(guān)系,把網(wǎng)絡(luò)、中間件、虛擬資源等納入到 CMDB 的管理中。除此之外還增加了更多符合場景需要的新功能:機器數(shù)據(jù)快照、數(shù)據(jù)自動發(fā)現(xiàn)、變更事件主動推送、更加精細(xì)的權(quán)限管理、可拓展的業(yè)務(wù)拓?fù)涞裙δ堋?/p>
在技術(shù)構(gòu)建上,架構(gòu)的核心聚焦于資源,把 CMDB 管理的原子資源分為主機、進(jìn)程和通用對象三種類型,并構(gòu)建了對這些資源的原子操作層。在這些原子操作之上,我們構(gòu)建了更貼近用戶操作的場景層,場景層通過對不同資源的組合操作來完成用戶的請求。
架構(gòu)設(shè)計
藍(lán)鯨智云配置平臺(以下簡稱配置平臺)整體為分層的微服務(wù)設(shè)計,可以分為以下四層:
-
資源層(store):提供系統(tǒng)所需的資源存儲、消息隊列以及緩存系統(tǒng)服務(wù)
-
服務(wù)層(service layer): 服務(wù)層劃分為兩大模塊
-
資源管理模塊: 在配置平臺中我們把資源類型進(jìn)行了抽象,目前劃分為主機、進(jìn)程、通用對象三大類,支持橫向擴展,每一類資源由一類微服務(wù)進(jìn)程來管理。
-
業(yè)務(wù)場景模塊: 業(yè)務(wù)場景模塊是基于資源管理模塊的原子接口對應(yīng)用場景的封裝,基于操作的相關(guān)度,目前劃分出【admin、event、host、topo、process、datacollection】幾個微服務(wù),admin服務(wù) 負(fù)責(zé)系統(tǒng)的配置刷新、初始化數(shù)據(jù)寫入等操作;event服務(wù)負(fù)責(zé)系統(tǒng)的事件訂閱與推送服務(wù);process、topo、host分別負(fù)責(zé)系統(tǒng)進(jìn)程、拓?fù)淠P?、主機數(shù)據(jù)的使用場景; datacollection 服務(wù)負(fù)責(zé)系統(tǒng)快照數(shù)據(jù)的接收與寫入。
-
-
接口層(api): 這一層是系統(tǒng)的api服務(wù)網(wǎng)關(guān)。
-
web層(web): web層是系統(tǒng)提供的web服務(wù)。通過配置平臺提供的web服務(wù)界面,用戶可以進(jìn)行資源的操作。
在架構(gòu)圖中有一點未體現(xiàn)出來的就是連接所有系統(tǒng)微服務(wù)的服務(wù)發(fā)現(xiàn)功能,基于zookeeper node watch 機制,我們構(gòu)建了系統(tǒng)的服務(wù)注冊與發(fā)現(xiàn)功能,從而使系統(tǒng)能保持高可用。
為了規(guī)避微服務(wù)部署中配置文件的管理問題,基于 zookeeper 構(gòu)建了系統(tǒng)的配置中心服務(wù),所有的配置文件在系統(tǒng)啟動之初就通過 admin-server 刷入 zookeeper ,每個進(jìn)程只需要在 zookeeper 中取自己需要的配置文件。 這兩個模塊的存在保證了系統(tǒng)的高可用以及服務(wù)的易用性。
特性
- 拓?fù)浠闹鳈C管理:主機基礎(chǔ)屬性、主機快照數(shù)據(jù)、主機歸屬關(guān)系管理
- 組織架構(gòu)管理:可擴展的基于業(yè)務(wù)的組織架構(gòu)管理
- 模型管理:既能管理業(yè)務(wù)、集群、主機等內(nèi)置模型,也能自定義模型
- 進(jìn)程管理:基于模塊的主機進(jìn)程管理
- 事件注冊與推送:提供基于回調(diào)方式的事件注冊與推送
- 通用權(quán)限管理:靈活的基于用戶組的權(quán)限管理
- 操作審計:用戶操作行為的審計與回溯
