Rainbond v3.7.0:實現企業級PaaS的穩定性

Rainbond在v3.7.0版本中釋出了大量平臺穩定性更新,並在應用管理功能、安全性和系統安裝三方面進行了部分優化。git

做爲IT基礎系統平臺,Rainbond從低耦合的架構設計高可用的部署方式自恢復與容錯的設計三方面評估和保障分佈式系統可用性,以最終達到無人值守的效果。github

在低耦合架構設計方面,Rainbond將分佈式系統抽象爲管理、計算、存儲等三類節點,不一樣節點屬性由不一樣服務組件構成,以解除服務間耦合關係,同時對於不一樣節點,可用性的最低要求也不盡相同 ——安全

  • 管理節點:面向用戶,提供應用構建、控制、調度、交付以及數據存儲等系列管理功能,在異常狀況下沒有管理節點,已有應用依然能正常運行
  • 計算節點:負責實際運行應用併爲應用運行提供環境保障,在異常狀況下能夠容忍降級,將應用調度到其餘計算節點運行
  • 存儲節點:用於存儲應用持久化數據並提供數據訪問服務,存儲節點異常,無狀態應用依然能夠正常運行。

爲了更好地保證高可用的部署,Rainbond自己全部模塊和組件均支持高可用 ——微信

  • 管理節點:支持等冪部署多個節點以保證高可用
  • 計算節點:等冪部署多個計算節點以組建冗餘資源池,從而容忍單節點資源限制或故障
  • 存儲節點:採用冗餘部署的方式造成存儲資源池,對計算節點提供穩定服務,任何存儲節點故障,業務不會中斷,數據也不會丟失。

在自恢復與容錯的服務設計方面,爲了消除用戶在維護大型集羣組件和服務時的手動工做,Rainbond一樣將節點屬性劃分爲管理節點、計算節點、存儲節點,並作嚴格區分,使不一樣節點屬性下運行不一樣服務列表。全部的服務採用Systemd進行進程守護,在保證進程健康的同時,每一個節點Node組件對當前節點的全部服務,硬件,網絡通訊狀況進行實時不間斷檢查和評估,以檢查出每個服務和節點的健康狀態,並最終匯聚成數據中心總體健康狀態,Rainbond用戶在大多數狀況下不須要關注每個組件,只須要觀察數據中心或節點的健康情況便可。網絡

當服務出現異常狀況時,區分不一樣的異常類別觸發不一樣的動做,好比:「重啓」、「報警」等,恢復服務的可用性。架構

另外,Rainbond提供的獨立的節點檢查和管理機制,對Kubernetes對計算節點的自動化維護進行了有力的補充,例如對於大型集羣,某個節點出現網絡沒法分配,鏡像沒法獲取等錯誤致使節點不健康時,平臺自動下線該節點,禁止新應用調度到此節點,最大化的下降應用調度錯誤。運維

以上即Rainbond對於評估和保證系統可用性的三方面思考和設計,在功能點上的具體體現以下:分佈式

  1. 全部平臺服務使用Systemd進程級守護加Rainbond-Node業務級健康檢查守護,保障服務健康運行svn

  2. 全部平臺服務支持健康檢查和Prometheus的監控指標暴露微服務

  3. 管理節點支持上線和下線以隔離因爲節點故障致使平臺不可用

  4. 計算節點健康檢查異常時支持自動隔離和恢復

  5. 支持配置自定義報警規則用於對節點物理監控,服務監控的報警

  6. 租戶使用資源(內存、磁盤)的統計由單個節點完成(Rainbond-Worker Master節點故障時自動切換)

  7. 支持經過命令行工具便捷查詢數據中心健康狀態、全部節點健康狀態。

在穩定性方面,Rainbond下一步會增長 混沌工程方面的實踐。

其餘更新

應用管理功能

本次更新進一步完善了應用管理和交付體系。

首先,Rainbond爲svn用戶和.net core用戶提供平臺支持,內置了.Net Core 2.1版本的編譯和運行環境,用戶只須要提供標準的代碼便可一鍵上雲(.Net Core其餘版本的用戶能夠採用定義Dockerfile方式)。

其次,Rainond進一步提供了API方式直接對接Jenkins CI\CD流程的支持,推薦用戶在平臺內直接部署Jenkins並經過API與平臺進行對接。

另外,對於微服務架構產品標準化交付,Rainbond支持將應用、插件統一分享爲一個綜合的業務系統,並經過應用市場快捷交付。

具體更新清單以下——

  1. 支持 .NetCore(2.1)語言一鍵構建應用,運行於Linux系統

  2. 支持對接SVN代碼倉庫持續構建應用

  3. 增長自動構建的入口,支持經過自定義API、Gitee-Webhook、Gogs-Webhook觸發自動構建,更好的於第三方CI系統集成。

  4. 支持應用+插件完整交付應用市場,並從市場安裝應用+插件完整業務系統,提供了業務+治理功能擴展綁定的完整軟件交付模式

  5. Dockerfile構建支持ARG參數

  6. 支持基於Git倉庫的代碼Tag構建應用

  7. 支持應用建立後從新識別語言類型

安全性

  1. 數據中心出口API與控制檯、命令行工具等客戶端使用TLS雙向安全認證
  2. 用戶註冊功能管理員可控制,用戶加入團隊需管理員審覈

系統安裝

經過簡化調整安裝步驟、分離資源獲取與節點安裝,本次更新後,Rainbond將統一支持在線安裝和離線安裝,解決了部分用戶因爲網絡環境緣由致使沒法安裝Rainbond的問題。

  1. 支持Centos7.4.170九、Ubuntu16.0四、Debian9.5徹底的離線安裝
  2. 支持管理節點水平擴容

關於Rainbond

Rainbond是一款以應用爲中心的開源PaaS,由好雨基於Docker、Kubernetes等容器技術自主研發,可做爲公有云或私有云環境下的應用交付平臺、DevOps平臺、自動化運維平臺和行業雲平臺,或做爲企業級的混合雲多雲管理工具、Kubernetes容器管理工具或Service Mesh微服務架構治理工具。

相關文章
相關標籤/搜索