Rainbond 5.0正式發佈, 支持對接管理已有Kubernetes集羣

Rainbond 5.0正式發佈, 支持對接管理已有Kubernetes集羣

​ 今天很是高興向你們宣佈Rainbond v5.0正式發佈,Rainbond是開源的企業應用雲操做系統,支撐企業應用開發、架構、交付和運維的全流程,經過無侵入架構,無縫銜接各種企業應用,底層資源能夠對接和管理IaaS、虛擬機和物理服務器。html

​ 此前發佈的Beta版本通過幾十個企業用戶安裝試用,很是感謝社區用戶反饋的每一個問題。咱們在5.0版本中進行了大量優化重構,同時也增長了多項重要功能,使得Rainbond的社區兼容性和穩定性獲得全面提高。下面來介紹一下新版本重點功能:java

對接已有Kubernetes集羣,並升級了內置Kubernetes和Docker版本

​ 基於過去版本在生產使用中積累的經驗和問題,咱們將Rainbond應用運行時進行了徹底重構。這次重構升級了Kubernetes和Docker的版本,並引入了Kubernetes的Deployment、Secret、Ingress、ConfigMap等資源,同時可支持對接已有Kubernetes集羣。在應用存儲方面,運行時提供了分佈式存儲和本地存儲的Provider, 在網絡方面增長了對Flannel的支持,在服務調度方面增長了更多的調度選擇機制。服務日誌方面,增長了計算節點日誌收集器完成日誌收集和與第三方日誌系統對接。node

​ 本次重構將Rainbond服務抽象進行了改進,使得Rainbond抽象可以更好的支持Kubernetes原生抽象模型,爲5.1版本Rainbond支持Helm Chart源碼建立應用奠基了基礎。linux

<img src="https://grstatic.oss-cn-shanghai.aliyuncs.com/images/docs/5.0/readme/connect.gif" width="100%">git

新增應用網關

​ 在以前版本中咱們支持基礎的域名綁定和四層訪問支持,這些只解決了基礎的訪問需求,用戶如今能夠經過應用網關體驗到大量開箱即用的訪問控制功能。應用網關是以應用爲核心抽象的關鍵環節,網關一詞你們不會陌生,無論是傳統的流量網關仍是API網關,都是業務服務的外層屏障。Rainbond應用網關基於Openresty進行功能擴展,其核心功能是應用訪問的負載路由安全控制 。5.0版本中的重點是在負載路由方面,當前版本咱們設計了兩類路由策略管理:github

  • HTTP訪問策略(L7)算法

    HTTP協議做爲目前最主要的業務服務協議。Rainbond支持以域名、請求路徑、請求頭、Cookies等多種條件的路由規則,同時支持基於權重對後端服務進行分流。能夠知足用戶對服務的訪問控制需求,實現A/B測試和灰度發佈。windows

  • TCP/UDP訪問策略(L4)後端

    TCP/UDP協議工做在四層,能夠支持目前幾乎全部服務,經過IP地址和端口進行服務路由。安全

​ Rainbond應用網關自動發現當前數據中心運行的全部服務端點,根據用戶配置的訪問策略透明化的工做。後續的版本中應用網關將持續升級,帶來如下特性:

  • 多種負載均衡算法
  • 服務安全控制(插件式擴展業務安全控制)
  • 多維度監控數據
  • 支持gRPC等更多的L7應用級協議路由策略

<img src="https://grstatic.oss-cn-shanghai.aliyuncs.com/images/docs/5.0/readme/gateway.gif" width="100%">

升級源碼構建,支持Gradle構建

Rainbond提供的源碼構建功能在過去的版本中深得用戶喜歡,從5.0版本開始,源碼CI機制的相關功能更新優先級將被提升。當前版本中咱們首先帶來了對全部支持語言的Runtime版本的升級,具體升級版本見源碼支持文檔,對於Java咱們增長了Gradle編譯方式的支持, 對於.NetCore增長自定義編譯命令功能的支持。

​ 服務控制檯中增長了構建源設置區域,提供了對各種支持語言的編譯環境的相關設置,後續版本中將提供更豐富的設置項目方便用戶靈活選擇。

<img src="https://grstatic.oss-cn-shanghai.aliyuncs.com/images/docs/5.0/readme/gradle.gif" width="100%"/>

引入Windows應用的支持(Alpha)

​ Windows應用目前依然存在於大多數傳統企業中,得益於微軟對容器化的大力支持,Windows容器技術目前已經能夠投入商用。Windows體系是徹底獨立的體系,從應用的編譯、構建、調度、運行都是獨立於Linux環境,所以對於Windows的支持工做量巨大。在5.0版本中咱們完成了對Windows應用的自動化構建、調度、運行的支持。但從節點安裝、應用源碼構建方面還不完善,當前版本Windows應用的支持僅做爲試用功能。

豐富大量文檔

​ 以前版本Rainbond在文檔方面不足,咱們也認識到文檔對於開源項目的重要性。隨着5.0版本的發佈,咱們對文檔從結構上和內容上進行了總體的調整,在控制檯使用、平臺安裝與運維、技術架構等多方面進行文檔完善。

多達100多項的功能改進

​ 當前版本除了上訴的功能變化之外,咱們在集羣(節點)管理、應用管理、應用控制檯UI等方面進行了100多項改進。

詳細功能列表

1. 新增應用網關

(1)移除了原rbd-entrance rbd-lb 兩個組件,增長rbd-gateway組件 (2)支持HTTP、TCP服務訪問策略管理 (3)HTTP策略支持基於域名、訪問路徑、請求頭、Cookie訪問路由控制 (4)支持配置HTTPs規則、HTTP轉HTTPs規則 (5)支持泛域名規則 (6)支持SSL證書管理 (7)支持A/B測試、灰度發佈控制 (8)TCP策略支持基於IP、端口訪問控制 (9)自定義負載均衡策略,目前支持支持輪詢算法,後續測試版本支持一致性Hash算法,Session粘連算法 (10)rbd-gateway支持集羣部署,高可用與流量均攤,可工做於4層高性能軟硬件負載均衡以後。

2. 支持對接已有Kubernetes集羣

(1)應用運行時完整重構,提供以應用爲核心的控制器抽象 (2)無狀態服務部署類型更改成Kubernetes Deployment資源 (3)有狀態服務本地存儲、共享存儲提供更改成動態PV,運行時提供Provider (4)應用狀態維護由集中式更改成分佈式,去除單點間歇性故障 (5)有狀態服務、無狀態服務皆提供自動化滾動升級策略 (6) 默認Kubernetes版本升級到1.10版本 Docker版本升級到17.06版本 (7) 支持社區版本Kubernetes集羣對接

3. 源碼構建更新版本,支持Gradle。

(1)Java PHP Python NodeJS Golang .NetCore 各語言可選Runtime版本升級 (2)Java語言支持Gradle源碼構建 ,支持War、Jar包部署 (3)Dockerfile支持多階段構建 (4)支持離線環境下的源碼持續構建(離線環境已具備必要的使用語言包倉庫)

4. 簡化應用操做,優化控制檯體驗。

(1)明肯定義 應用/服務 兩級抽象。 (2)應用Dashboard頁面拓撲圖應用狀態實時刷新。 (3)應用Dashboard頁面增長快捷建立服務組件的流程。 (4)應用Dashboard頁面增長應用級啓動、中止、升級控制。 (5)增長應用網關完整的控制流程頁面 (完成)。 (6)服務組件支持(更新升級)操做 。 (7)服務組件支持源碼構建配置 。 (8)應用安裝支持先安裝,配置後啓動選擇。

5. Windows 支持 (5.0僅做爲測試功能)

(1)node 組件支持windows節點部署,管理windows節點和平臺服務 (2)rbd-chao 組件支持windows節點部署,構建windows應用 (3)服務構建調度支持區分windows和linux應用。 (4)服務運行調度,存儲支持Windows節點。 (5)數據中心鏡像倉庫升級支持Windows鏡像。

6. 簡化安裝和維護

(1)系統安裝策略由SaltStack更換爲Ansible (2)新加windowsutil組件支持傳統程序或腳本部署爲windows服務 (3)支持多配置文件配置節點服務 (4)支持Windows節點下服務守護和健康檢查 (5)grctl多個命令升級改造 (6)內置支持安裝flannel host-gateway網絡

相關連接

相關文章
相關標籤/搜索