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

2021-01-08 開源中國

很高興向大家宣布Rainbond v5.0正式發布!

Rainbond是開源的企業應用雲作業系統,支撐企業應用開發、架構、交付和運維的全流程,通過無侵入架構,無縫銜接各類企業應用,底層資源可以對接和管理IaaS、虛擬機和物理伺服器。

此前發布的Beta版本經過幾十家企業用戶安裝試用,非常感謝社區用戶反饋的每個問題。我們在5.0版本中進行了大量優化重構,同時也增加了多項重要功能,使得Rainbond的社區兼容性和穩定性得到全面提升。下面來介紹一下新版本重點功能:

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

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

本次重構將Rainbond服務抽象進行了改進,使得Rainbond抽象能夠更好的支持Kubernetes原生抽象模型,為5.1版本Rainbond支持Helm Chart源碼創建應用奠定了基礎。

新增應用網關

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

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

多種負載均衡算法

服務安全控制(插件式擴展業務安全控制)

多維度監控數據

支持gRPC等更多的L7應用級協議路由策略

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

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

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

引入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網絡

相關連結

相關焦點

  • Rainbond 5.2 穩定版發布,對接已有 Kubernetes 集群,支持多集群
    Rainbond 5.2穩定版經過大量生產實踐,距上個版本(5.2.0)已4個多月,在此期間我們收到來自社區用戶的反饋及問題後積極響應,不斷完善5.2版本質量和體驗。
  • Rainbond v5.1.2 發布,微服務架構應用便捷管理和交付
    底層資源可以對接和管理IaaS、虛擬機和物理伺服器。2019年3月,Rainbond發布v5.1版本,經過1個月在上百家企業的實際使用,團隊持續跟進版本缺陷,迄今為止發布了2個BUG修復版本。Rainbond開源產品的目標是成為企業IT系統的雲作業系統,作為基礎平臺支持各行各業的企業用戶,優化IT軟體開發企業的開發流程和交付流程,做到一站式開發和交付。
  • Rainbond 5.1.8 發布,應用網關支持多IP網絡接入
    2019年10月23日,Rainbond發布5.1.8版本,本次版本更新帶來了應用網關對多IP的支持, 第三方組件對域名實例的支持 等新功能和修復若干BUG。
  • Rainbond 5.1.4 發布,複雜微服務架構整體升級和回滾
    Rainbond是開源的企業應用雲作業系統,支撐企業應用的開發、架構、交付和運維的全流程,通過無侵入架構,無縫銜接各類企業應用,底層資源可以對接和管理IaaS、虛擬機和物理伺服器。升級和回滾的過程通過Rainbond應用市場實現,Rainbond應用市場定義了一種對應用的存儲、共享、交付、管理途徑.
  • 開源PaaS Rainbond v5.0.4 發布更新,做最好用的雲應用作業系統
    ,底層資源可以對接和管理IaaS、虛擬機和物理伺服器。Rainbond 5.0 版本系列發布以來我們已經持續更新了4個BUG修復版本,Rainbond v5.0.4 也將是V5.1發布前的最後一個BUG修復發行版。
  • Rainbond v5.1.7,應用展示清晰透明,優化應用排錯
    Rainbond:支撐企業應用的開發、架構、交付和運維的全流程,通過「無侵入」架構無縫銜接各類企業應用,底層資源可以對接和管理 IaaS、虛擬機和物理伺服器。 Rainbond 是什麼?發布版本:5.1.7 版本更新:推薦 更新範圍:服務狀態控制,操作審計記錄,日誌推送和存儲服務升級過程透明Rainbond 的關鍵特點是一鍵完成從代碼獲取到構建打包,滾動上線的完整周期,這樣的體驗追求是好的,然而代碼的構建過程受限於代碼是否規範或者錯誤的代碼而不能正常完成,滾動上線過程依然會取決於服務構建版本是否能夠正常工作,集群狀態是否正常等等不確定因素,在過去的版本中用戶對這一段過程的執行只能關注一個最終狀態而無法方便地看到細節信息
  • Kubernetes 1.5 強勢來襲,容器集群管理系統
    時隔70多天,我們再次懷著激動的心情等候Kubernetes 1.5版本的發布。在Github上,Kubernetes已擁有接近20,000顆星、6,314次Fork,吸引了國內外眾多開發者的青睞,社區異常活躍。那麼這次升級Kubernetes又會為我們帶來什麼樣的驚喜?
  • Kubernetes 1.8.0 版本發布
    首先,Kubernetes 的存儲模型已經穩定,在 1.8 的發布中開始增加更多的擴展性和附加功能,例如支持掛載選擇,支持 StorageClass 參數化等。快照、擴容、本地存儲無疑是存儲模塊本次發布的亮點,儘管目前都是 alpha,甚至是 pre-alpha。
  • Kubernetes 1.14 二進位集群安裝
    DNS 使用功能、性能更好的coredns網絡 使用Flanneld 作為集群網絡插件一、初始化環境集群機器192.168.0.50 k8s-01192.168.0.51 k8s-02192.168.0.52 k8s-03#node節點192.168.0.53 k8s-04#node節點只運行node,但是設置證書的時候要添加這個ip本文檔的所有etcd集群
  • Kubeflow 0.1 發布,基於 Kubernetes 的機器學習工具庫
    Google 發布了 Kubeflow 開源工具 0.1 版本,該工具旨在將機器學習帶入 Kubernetes 容器的世界。
  • kubernetes面試題匯總
    是一個開源的,用於管理雲平臺中多個主機上的容器化的應用,Kubernetes的目標是讓部署容器化的應用簡單並且高效(powerful),Kubernetes提供了應用部署,規劃,更新,維護的一種機制。kubernetes面試題匯總1.kubernetes是什麼?
  • Kubernetes持續部署指南
    Kubernetes 能夠讓部署、管理多個項目所需的大量集群變得更加容易。本文我們將詳細介紹如何將應用程式部署到Kubernetes,閱讀完本文之後,你將擁有一個高效的Kubernetes部署和持續交付工作流程。持續集成是在每次應用程式更新時構建和測試的實踐。通過以少量的工作,更早地檢測到錯誤並立即解決。
  • 深入解析Kubernetes service 概念
    :6443,192.168.0.11:6443,192.168.0.12:644333dmyapp 172.30.168.6:80,172.30.192.7:80,172.30.216.7:807m56smyapp-svc 172.30.168.4:80,172.30.192.5:80,172.30.216.6:
  • Sentinel 1.7.0 發布,支持 Envoy 集群流量控制
    流控降級中間件 Sentinel 1.7.0 版本正式發布,引入了 Envoy 集群流量控制支持、properties 文件配置、Consul/Etcd/Spring Cloud Config
  • Kubernetes ELK 日誌收集
    或者您不想在Kubernetes集群內安裝ES,可以直接參考下面的文章。直接在宿主機上安裝,和在kubernetes效果一樣的。,需要是pod的名稱 value:"es-test-0,es-test-1,es-test-2"- name: discovery.zen.minimum_master_nodes #節點數量,高可用集群至少3個主節點,其中2個至少不僅投票節點。
  • 用KubeFATE在Kubernetes上部署聯邦學習集群
    之前我們在文章《使用KubeFATE快速部署聯邦學習實驗開發環境(一)》、《使用KubeFATE快速部署聯邦學習實驗開發環境(二)》和《使用FATE進行圖片識別的深度神經網絡聯邦學習》中介紹過如何使用 KubeFATE 部署一個基於   Docker Compose 的 FA TE 聯邦學習集群,以便於快速嘗試體驗聯邦學習。但隨著聯邦學習的正式投入使用,訓練集、模型都會逐漸變大。
  • Kubernetes 1.20 發布:妙啊 - OSCHINA - 中文開源技術交流社區
    Kubernetes 1.20 發布,這是 2020 年的第三版也是最終版。
  • 基於 Kubernetes 的 GPU 類型調度實現
    憑藉其特性,Kubernetes 可以無縫將模型訓練、inference 和部署擴展到多雲 GPU 集群,允許數據科學家跨集群節點自動化多個 GPU 加速應用程式容器的部署、維護、調度和操作。在 1.6 版本和 1.9 版本中,Kubernetes 先後提供了對 NVIDIA GPU、AMD GPU 容器集群管理調度的支持,進一步提高了對 GPU 等擴展資源進行統一管理和調度的能力。
  • K8S 1.13 重磅發布|全面解讀 20 個重大功能更新
    SIG CLI 在 1.13 版本中,SIG CLI 主要致力於穩定我們過去發布的項目,例如伺服器端列印、在 kubectl 中的支持以及完成基於伺服器端運行特性的 kubectl diff [5]。我們會繼續分離 kubectl 代碼以準備將其從主庫中抽出。最後,感謝來自社區的強大支持和反饋,我們正設法推動新的插件機制到 Beta 階段 [6]。
  • Kubernetes 1.17 特性:Kubernetes卷快照移至Beta版
    此外,這些Kubernetes快照作為基本的構建塊,可釋放為Kubernetes開發高級企業級存儲管理功能的能力:包括應用程式或集群級備份解決方案。Beta版有什麼新功能?隨著卷快照升級到beta版,該功能現在在標準Kubernetes部署上默認啟用,而不是選擇性啟用。