Rainbond v3.7.0:实现企业级PaaS的稳定性
Rainbond v3.7.0:實(shí)現(xiàn)企業(yè)級PaaS的穩(wěn)定性
Rainbond在v3.7.0版本中釋出了大量平臺穩(wěn)定性更新,并在應(yīng)用管理功能、安全性和系統(tǒng)安裝三方面進(jìn)行了部分優(yōu)化。
作為IT基礎(chǔ)系統(tǒng)平臺,Rainbond從低耦合的架構(gòu)設(shè)計(jì)、高可用的部署方式、自恢復(fù)與容錯的設(shè)計(jì)三方面評估和保障分布式系統(tǒng)可用性,以最終達(dá)到無人值守的效果。
在低耦合架構(gòu)設(shè)計(jì)方面,Rainbond將分布式系統(tǒng)抽象為管理、計(jì)算、存儲等三類節(jié)點(diǎn),不同節(jié)點(diǎn)屬性由不同服務(wù)組件構(gòu)成,以解除服務(wù)間耦合關(guān)系,同時對于不同節(jié)點(diǎn),可用性的最低要求也不盡相同 ——
管理節(jié)點(diǎn):面向用戶,提供應(yīng)用構(gòu)建、控制、調(diào)度、交付以及數(shù)據(jù)存儲等系列管理功能,在異常情況下沒有管理節(jié)點(diǎn),已有應(yīng)用依然能正常運(yùn)行
計(jì)算節(jié)點(diǎn):負(fù)責(zé)實(shí)際運(yùn)行應(yīng)用并為應(yīng)用運(yùn)行提供環(huán)境保障,在異常情況下可以容忍降級,將應(yīng)用調(diào)度到其他計(jì)算節(jié)點(diǎn)運(yùn)行
存儲節(jié)點(diǎn):用于存儲應(yīng)用持久化數(shù)據(jù)并提供數(shù)據(jù)訪問服務(wù),存儲節(jié)點(diǎn)異常,無狀態(tài)應(yīng)用依然可以正常運(yùn)行。
為了更好地保證高可用的部署,Rainbond本身所有模塊和組件均支持高可用 ——
管理節(jié)點(diǎn):支持等冪部署多個節(jié)點(diǎn)以保證高可用
計(jì)算節(jié)點(diǎn):等冪部署多個計(jì)算節(jié)點(diǎn)以組建冗余資源池,從而容忍單節(jié)點(diǎn)資源限制或故障
存儲節(jié)點(diǎn):采用冗余部署的方式形成存儲資源池,對計(jì)算節(jié)點(diǎn)提供穩(wěn)定服務(wù),任何存儲節(jié)點(diǎn)故障,業(yè)務(wù)不會中斷,數(shù)據(jù)也不會丟失。
在自恢復(fù)與容錯的服務(wù)設(shè)計(jì)方面,為了消除用戶在維護(hù)大型集群組件和服務(wù)時的手動工作,Rainbond同樣將節(jié)點(diǎn)屬性劃分為管理節(jié)點(diǎn)、計(jì)算節(jié)點(diǎn)、存儲節(jié)點(diǎn),并做嚴(yán)格區(qū)分,使不同節(jié)點(diǎn)屬性下運(yùn)行不同服務(wù)列表。所有的服務(wù)采用Systemd進(jìn)行進(jìn)程守護(hù),在保證進(jìn)程健康的同時,每個節(jié)點(diǎn)Node組件對當(dāng)前節(jié)點(diǎn)的所有服務(wù),硬件,網(wǎng)絡(luò)通信情況進(jìn)行實(shí)時不間斷檢查和評估,以檢查出每一個服務(wù)和節(jié)點(diǎn)的健康狀態(tài),并最終匯聚成數(shù)據(jù)中心整體健康狀態(tài),Rainbond用戶在大多數(shù)情況下不需要關(guān)注每一個組件,只需要觀察數(shù)據(jù)中心或節(jié)點(diǎn)的健康狀況即可。
當(dāng)服務(wù)出現(xiàn)異常情況時,區(qū)分不同的異常類別觸發(fā)不同的動作,比如:“重啟”、“報警”等,恢復(fù)服務(wù)的可用性。
另外,Rainbond提供的獨(dú)立的節(jié)點(diǎn)檢查和管理機(jī)制,對Kubernetes對計(jì)算節(jié)點(diǎn)的自動化維護(hù)進(jìn)行了有力的補(bǔ)充,例如對于大型集群,某個節(jié)點(diǎn)出現(xiàn)網(wǎng)絡(luò)無法分配,鏡像無法獲取等錯誤導(dǎo)致節(jié)點(diǎn)不健康時,平臺自動下線該節(jié)點(diǎn),禁止新應(yīng)用調(diào)度到此節(jié)點(diǎn),最大化的降低應(yīng)用調(diào)度錯誤。
以上即Rainbond對于評估和保證系統(tǒng)可用性的三方面思考和設(shè)計(jì),在功能點(diǎn)上的具體體現(xiàn)如下:
所有平臺服務(wù)使用Systemd進(jìn)程級守護(hù)加Rainbond-Node業(yè)務(wù)級健康檢查守護(hù),保障服務(wù)健康運(yùn)行
所有平臺服務(wù)支持健康檢查和Prometheus的監(jiān)控指標(biāo)暴露
管理節(jié)點(diǎn)支持上線和下線以隔離由于節(jié)點(diǎn)故障導(dǎo)致平臺不可用
計(jì)算節(jié)點(diǎn)健康檢查異常時支持自動隔離和恢復(fù)
支持配置自定義報警規(guī)則用于對節(jié)點(diǎn)物理監(jiān)控,服務(wù)監(jiān)控的報警
租戶使用資源(內(nèi)存、磁盤)的統(tǒng)計(jì)由單個節(jié)點(diǎn)完成(Rainbond-Worker Master節(jié)點(diǎn)故障時自動切換)
支持通過命令行工具便捷查詢數(shù)據(jù)中心健康狀態(tài)、所有節(jié)點(diǎn)健康狀態(tài)。
在穩(wěn)定性方面,Rainbond下一步會增加?混沌工程方面的實(shí)踐。
其他更新
應(yīng)用管理功能
本次更新進(jìn)一步完善了應(yīng)用管理和交付體系。
首先,Rainbond為svn用戶和.net?core用戶提供平臺支持,內(nèi)置了.Net?Core 2.1版本的編譯和運(yùn)行環(huán)境,用戶只需要提供標(biāo)準(zhǔn)的代碼即可一鍵上云(.Net Core其他版本的用戶可以采用定義Dockerfile方式)。
其次,Rainond進(jìn)一步提供了API方式直接對接Jenkins CI\CD流程的支持,推薦用戶在平臺內(nèi)直接部署Jenkins并通過API與平臺進(jìn)行對接。
另外,對于微服務(wù)架構(gòu)產(chǎn)品標(biāo)準(zhǔn)化交付,Rainbond支持將應(yīng)用、插件統(tǒng)一分享為一個綜合的業(yè)務(wù)系統(tǒng),并通過應(yīng)用市場快捷交付。
具體更新清單如下——
支持 .NetCore(2.1)語言一鍵構(gòu)建應(yīng)用,運(yùn)行于Linux系統(tǒng)
支持對接SVN代碼倉庫持續(xù)構(gòu)建應(yīng)用
增加自動構(gòu)建的入口,支持通過自定義API、Gitee-Webhook、Gogs-Webhook觸發(fā)自動構(gòu)建,更好的于第三方CI系統(tǒng)集成。
支持應(yīng)用+插件完整交付應(yīng)用市場,并從市場安裝應(yīng)用+插件完整業(yè)務(wù)系統(tǒng),提供了業(yè)務(wù)+治理功能擴(kuò)展綁定的完整軟件交付模式
Dockerfile構(gòu)建支持ARG參數(shù)
支持基于Git倉庫的代碼Tag構(gòu)建應(yīng)用
支持應(yīng)用創(chuàng)建后重新識別語言類型
安全性
數(shù)據(jù)中心出口API與控制臺、命令行工具等客戶端使用TLS雙向安全認(rèn)證
用戶注冊功能管理員可控制,用戶加入團(tuán)隊(duì)需管理員審核
系統(tǒng)安裝
通過簡化調(diào)整安裝步驟、分離資源獲取與節(jié)點(diǎn)安裝,本次更新后,Rainbond將統(tǒng)一支持在線安裝和離線安裝,解決了部分用戶由于網(wǎng)絡(luò)環(huán)境原因?qū)е聼o法安裝Rainbond的問題。
支持Centos7.4.1709、Ubuntu16.04、Debian9.5完全的離線安裝
支持管理節(jié)點(diǎn)水平擴(kuò)容
關(guān)于Rainbond
Rainbond是一款以應(yīng)用為中心的開源PaaS,由好雨基于Docker、Kubernetes等容器技術(shù)自主研發(fā),可作為公有云或私有云環(huán)境下的應(yīng)用交付平臺、DevOps平臺、自動化運(yùn)維平臺和行業(yè)云平臺,或作為企業(yè)級的混合云多云管理工具、Kubernetes容器管理工具或Service Mesh微服務(wù)架構(gòu)治理工具。
Rainbond項(xiàng)目網(wǎng)站
試用Rainbond?演示賬號/密碼:rainbond-demo/rainbond-demo
Github
碼云
文檔
微信群: 添加微信“zqg5258423”并接受邀請入群
.NET社區(qū)新聞,深度好文,歡迎訪問公眾號文章匯總 http://www.csharpkit.com?
總結(jié)
以上是生活随笔為你收集整理的Rainbond v3.7.0:实现企业级PaaS的稳定性的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: .NET Core 2.1中的HttpC
- 下一篇: 微软把UWP定位成业务线应用程序开发平台