Rainbond 5.1.9釋出,新增執行個體彈性伸縮、OAuth代碼倉庫互聯功能
2019年12月12日,Rainbond開源2周年紀念,我們帶來了5.1.9版本,本次更新引入元件執行個體自動伸縮、代碼倉庫互聯(OAuth2.0互聯)兩大功能,同時在系統高可用、系統服務自動運維、功能可用性等方面做大量優化。
- Rainbond:以應用為中心,支撐企業應用的開發、架構、子產品化組裝、傳遞和運維的全生命周期,通過“無侵入”架構無縫銜接各類企業應用,通過軟體定義管理企業實體資源,并提供DevOps能力。 Rainbond是什麼?
- 釋出版本:5.1.9
- 版本更新:推薦
- 更新範圍:元件執行個體控制、系統自動化運維、持續內建
執行個體彈性伸縮
彈性伸縮是指對于無狀态類元件服務或有狀态可水準伸縮類元件服務當業務量大時自動增加執行個體數量,以保證計算能力。當業務處理量下降時減少執行個體數量,以降低資源占用成本。本次實作我們采用Kubernetes 預設伸縮算法。
伸縮算法
HPA Controller會通過調整副本數量使得某一名額盡量向期望值靠近,而且不是完全相等.另外,考慮到自動擴充的決策可能需要一段時間才會生效:例如當某一個元件執行個體的記憶體使用率一直上升并超過期望值,建立一個新執行個體的過程中,原執行個體的記憶體使用率還會持續上升。是以,在每一次作出決策後的一段時間内,将不再進行擴充決策。對于擴容而言,這個時間段為3分鐘,縮容為5分鐘。
HPA Controller中有一個tolerance(容忍力)的概念,它允許一定範圍内的使用量的不穩定,現在預設為0.1,這也是出于維護系統穩定性的考慮。例如,設定HPA排程政策為記憶體使用率高于50%觸發擴容,那麼隻有當使用率大于55%或者小于45%才會觸發伸縮活動,HPA會盡力把執行個體的使用率控制在這個範圍之間。
- 具體的每次擴容或者縮容的多少Pod的算法為:
Ceil(采集到的使用率 / 使用者自定義的使用率) * Pod數量)
- 每次最大擴容pod數量不會超過目前副本數量的2倍
對于名額目前版本支援資源使用類的記憶體(使用率、使用量)和CPU(使用率、使用量)名額。

元件彈性伸縮設定示範
未來計劃
未來的版本中我們将支援使用者自定義元件的業務能力名額,比如API服務暴露其每秒處理的請求數量,則可通過配置請求處理效率名額為執行個體伸縮名額,對于這類業務類名額将更能夠及時準确的衡量業務伸縮的時機。除了擴充業務名額外,HPA Controller将聯合網關子產品、ServiceMesh子產品來實作元件執行個體縮放到“0”的能力。這種能力對于企業長期不使用的應用或業務能夠節省較多企業資源,這同時也是服務于FaaS的能力基礎。
代碼倉庫互聯(OAuth2.0互聯)
Rainbond基于源碼建立或持續建構元件都直接與Git代碼倉庫互動。過去需要使用者手動輸入項目倉庫位址,對于私有倉庫還需要提供賬号密碼等資訊。OAuth是目前最常用的開放授權通信協定,目前幾乎全部Git代碼倉庫服務實作都支援基于OAuth2.0實作開放使用者授權。目前版本Rainbond實作對Github、Gitlab、Gitee三類代碼倉庫服務的支援,使用者授權後可直接擷取使用者項目清單、提供建立元件的快捷流程。通過OAuth Token從代碼倉庫擷取源碼或調用API自動設定webhook,進而簡化使用者配置。
OAuth流程示範
其他新增功能
- 新增 Kubernetes叢集監控服務 和 平台Mysql資料庫監控服務
- 支援租戶删除和資源清理
- 新增管理節點磁盤自動清理功能
- 新增已删除元件所占資源自動清理功能
- 應用網關支援VIP漂移後,關聯政策自動漂移功能
- 應用網關管理支援HTTPS證書更新後自動生效 #527
- 雲端備份存儲類型支援阿裡對象存儲和相容S3的其他對象存儲 #545
- 元件互相依賴時支援啟動順序控制 #499
- 平台預設資料庫切換到Mysql5.7版本,并對8.0版本作相容測試
- 新增節點Condition更新機制,grctl指令行和管理背景展現Condition更新狀态,便于使用者發現節點健康檢測故障
- 節點處于UNKNOW的節點自動下線該節點注冊的系統服務保證高可用性
解決問題清單
- 應用備份恢複時提示删除原備份,但伺服器上檢視原備份并沒有被删除
- 5.1.8由源碼建立元件,正常的git位址報錯
- 添加第二個計算節點失敗,node uuid is null
- /rainbond/endpoints存在非法endpoint
- 節點删除元件時檢測項無法删除,節點一直處于unhealth狀态
- 節點資訊中, 元件的lastHeartbeatTime和lastTransitionTime不正确
- 應用網關按應用/元件名搜尋不生效
- 無法删除元件, 提示"請先解除安裝元件安裝的插件"
- 内部市場導入應用成功後應用清單沒有重新整理
- 網關https政策修改為http政策不生效
- 内部市場手動導入應用失敗
- 應用網關VIP切換後從可用清單中消失
- 挂載共享目錄時共享存儲查詢查詢錯誤
- webhook觸發後報錯分支不一緻
檢視更多Rainbond介紹:
https://www.rainbond.com新安裝:
https://www.rainbond.com/docs/quick-start/rainbond_install/更新到5.1.9:
https://www.rainbond.com/docs/upgrade/5.1.8-5.1.9/Rainbond RoadMap
https://www.rainbond.com/docs/quick-start/roadmap/