Rancher 部署開源Rainbond 雲原生應用管理平臺

本文適用於正在使用 Rancher 或對 Rancher 有所瞭解的用戶

Rancher,Kubernetes 生態中成功的開源項目,其定位 “Run Kubernetes Everywhere”。Rancher 可以幫助開發者快速搭建雲、邊、端多維度的 Kubernetes 集羣,並提供多個集羣資源 UI 化的管理體系。

Rainbond 定位“企業應用全生命週期管理“,類似於 Rancher 的定位說法應該是“Run Application Everywhere”。Rainbond 的開源用戶一直一來都面臨一個缺陷,就是集羣監控、可視化管理方面 Rainbond 的開源版本不提供。因此結合 Rancher 不失是一個開源場景中的解決方式。 對於 Rancher 的用戶而言,你或許可以嘗試使用 Rainbond 來管理你的應用,你將感受到與 Rancher 不一樣的高效和簡單。通過閱讀 Rainbond 相關的文檔,你會發現 Rainbond 在服務於企業的應用開發、應用運維、應用交付方面獨特的產品魅力。

接下來將帶你在 Rancher 之上完成 Rainbond 系統的安裝。

前提條件

  1. 具有一套穩定可用的 Rancher 環境,若還沒有可參考 Rancher 安裝部署文檔
  2. Kubernetes 集羣具有至少 4GB 以上的空閒調度內存
  3. Kubernetes 版本在 1.13 及以上
  4. Kubernetes 集羣至少有一個 80/443 端口未被佔用的節點

開始安裝

添加 Rainbond Operator 到應用商店

將 Rainbond Operator 添加到 Rancher 的應用商店中。

1.在應用商店頁面中,單擊添加應用商店

2.輸入名稱(比如 Rainbond-Operator)和 商店 URL 地址 輸入 https://gitee.com/rainbond/rainbond-operator

Rancher 會在指定的代碼倉庫中搜尋存在的 Helm Chart,由於國內網絡原因,使用 rainbond-operator 在 gitee 的地址。

4.Helm 版本選擇Helm v3

Rainbond-operator chart 使用 Helm v3 規範定義,因此必須選擇 Helm v3 版本。

5.單擊創建完成應用商店添加。

6.回到應用商店頁面中,單擊啓動

7.單擊刷新,等 Rancher 同步完後,就可以看到剛纔新加的 Rainbond Operator 了。

安裝 Rainbond Operator

在 Rancher 中啓動 Rainbond Operator。

1.單擊識別出的 rainbond-operator Chart,開始 Chart 的安裝。

2.將命名空間修改爲rbd-system

注意,目前命名空間只能設置爲 rbd-system, 根據rainbond-operator Chart 默認的配置進行安裝。

3.單擊啓動,會跳轉到應用列表頁面,等待rainbond-operator的狀態到 Active

這個過程會從公網獲取 rainbond-operator 的相關鏡像,因此其啓動時間極大的取決於您的網絡環境。

訪問 Rainbond 安裝 UI,完善集羣配置

rainbond-operator 啓動完成後在暴露 30008 提供集羣配置和安裝過程的 UI 展示服務。因此請訪問主機IP:30008進入 Rainbond Operator UI 頁面。

配置項目中包括鏡像倉庫配置、數據庫配置和存儲配置,請根據你所在環境的實際情況考慮是否自助提供以上服務(高可用生產環境我們建議自助提供)。當然默認情況下 Rainbond 會自動安裝以上服務。

另外兩個關鍵性配置是網關節點構建節點的選擇。默認情況下 Rainbond 將自動選擇 Kubernetes 的適合的管理節點。網關節點安裝rbd-gateway網關服務,因此需要佔用80, 443等關鍵端口。構建節點作爲 Rainbond 進行鏡像構建的節點,最好選擇存儲和計算資源充足的節點。 倘若以上兩個配置項沒有獲取的默認值,比如你的集羣中已經沒有80端口空閒的節點時,你可能需要進行以下操作:

  1. 使用 IP 地址搜索其他可用節點並選擇。
  2. 若集羣中已無可用節點,比如你只有一個節點且已安裝Ingress Controller,那麼你可以修改 Ingress ControllerhostNetwork 設爲 false,或者修改它的端口爲非 80, 443 端口。然後重新進行 Rainbond 安裝。若有多個節點時可考慮將Ingress Controller從某個節點驅離,讓出端口資源給 Rainbond 使用。

完成配置後,即可單擊 配置完成,開始安裝。安裝過程中 Rainbond 將獲取所有需要的鏡像並上傳到本地鏡像倉庫中,然後啓動所有 Rainbond 的組件。此過程大概20分鐘, 與您的網絡環境相關。

基於 Rancher 的 Rainbond 運維參考

在 Rainbond 的安裝和使用過程中,都可以使用 Rancher 運維 Rainbond。比如查看 Rainbond 各組件運行狀態與日誌按需擴容 Rainbond 各組件

查看 Rainbond 各組件運行狀態與日誌

工作負載頁面中,找到命名空間 rbd-system,查看 Rainbond 各組件的狀態,事件和日誌。也可以實時監控某個組件工作負載,包括 CPU,內存,網絡數據包等。
如果某個組件異常了,可以通過以上的信息進行排查;必要的時候,可以把其上傳到社區,或提交 Issues 到Rainbond-Operator

按需擴容 Rainbond 各組件

當某個 Rainbond 組件的負載過高的時候,可以用 Rancher 增加該組件的副本數,分攤一些負載;相對地,可以用 Rancher 減少 Rainbond 組件的副本數。

當需要對 Rainbond 組件進行排錯的時候,可能需要修改組件的啓動參數,或者環境變量。這時候,就可以使用 Rancher 進行修改。

瞭解 Rancher 用戶使用 Rainbond 的優勢

  • 無需深入學習 Kubernetes 各類資源的使用方式

    Rainbond 使用雲原生應用模型的方式提供給用戶智能化、簡單的應用開發管理模式。不管是簡單應用還是複雜的微服務架構,整個開發部署過程無需開發者深入學習 Kubernetes 相關知識。

  • 標準的雲原生 12 要素應用管理模式

你或許聽說過雲原生 12 要素,作爲目前推薦的雲原生應用開發模式。Rainbond 應用模型對雲原生 12 要素進行了充分的實踐,使用 Rainbond,天然地使你的代碼滿足雲原生要求。

  • 從源代碼到雲端

常用的開發語言(Java、PHP、Python、Golang、NodeJS、.NetCore)無需定義 Dockerfile、無需定義 Kubernetes 部署方式即可完成持續構建、持續部署。

  • 標準應用多集羣交付

Rainbond 提供多種方式便於開發者在多個集羣,多個環境中快速交付應用,獲取 SaaS 化應用交付體驗。

  • 微服務架構

Rainbond 內置 ServiceMesh 微服務架構治理框架,所有部署組件按照微服務的治理思路進行管理,微服務治理功能開箱即用的。

參考視頻

Rancher安裝Rainbond進行雲原生應用管理

常見問題

  • Rancher 已經部署的應用能否直接由 Rainbond 接管

這個問題是大多數用戶的疑問,我們希望達成 Rainbond 可以自動化的接管 Rancher 部署的應用。然而遺憾的是由於 Rancher 即同類型平臺部署應用時目前都不會遵循標準規範(比如OAM),導致我們很難 100% 兼容的轉換 Rancher 已經部署的應用成爲 Rainbond 應用模型。因此目前我們還是推薦用戶直接使用 Rainbond 提供的基於源代碼、基於鏡像快速的重新部署應用(相對於部分轉化後再進行人工干預優化更節省時間)。同時也便於用戶在這個過程中瞭解 Rainbond 應用管理的機制和流程。

  • Rainbond 部署的應用是否可以從 Rancher 視圖中進行管理

Rainbond 部署到 Kubernetes 集羣中的資源都是由 Rainbond 控制器進行創建、升級和回收,使用 Rainbond 定義的資源創建規範。我們並不推薦用戶在 Rancher 中直接對這些資源進行修改。但可以進行觀測,比如日誌觀測、資源監控觀測等等。

  • Rainbond 與 Rancher 是否會在同個方向上競爭

從兩個產品從功能上來說存在一定交叉,但各有偏重點。特別是在開源路線上我們肯定會避免重複的造輪子,同時儘可能結合社區優秀的解決方案爲用戶提供完整的價值體驗。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章