Rainbond 5.1.8 發布,應用網關支援多IP網路接入
- 2019 年 10 月 28 日
- 筆記
2019年10月23日,Rainbond發布5.1.8版本,本次版本更新帶來了應用網關對多IP的支援, 第三方組件對域名實例的支援 等新功能和修復若干BUG。
- Rainbond:支撐企業應用的開發、架構、交付和運維的全流程,通過「無侵入」架構無縫銜接各類企業應用,底層資源可以對接和管理IaaS、虛擬機和物理伺服器。 Rainbond是什麼?
- 發布版本:5.1.8
- 版本更新:推薦
- 更新範圍:應用網關,第三方組件
應用網關支援多IP
應用網關是外部流量進入租戶空間應用組件的唯一入口, 提供HTTP, HTTPs路由, TCP/UDP服務, 負載均衡器, 高級路由(A/B測試, 灰度發布)等功能。
在5.1.8以前, 所有的TCP/UDP類策略綁定的 IP:PORT
都是 0.0.0.0:port
, 這樣一個埠只能給一個程式使用。且多個網關節點配置完全等價,我們伺服器的埠是有限的(最大65535),因而帶來了規則數量上限。在當前版本中我們引入第二個變數IP地址,所有網關節點動態上報當前節點的可用IP地址供用戶選擇,從而帶來了以下的功能:
- 內外網隔離: 網關節點一般處於內外網結合點,南向面對內網網路,北向面對外網網路。由不同的IP地址來呈現,選擇不同的IP地址形成內外網隔離的特性。
- 定向網關: 部分用戶場景中需要針對部分服務有獨立的訪問入口,比如特殊的租戶或特殊的接入網路等。
- 跨團隊通訊: 默認情況下團隊間服務不能直接通訊,但其可以通過應用網關的中轉通訊。
- 虛擬IP的支援: 虛擬IP是變化的,可能在多個網關服務上遷移,支援定向綁定虛擬IP的埠是靈活的解決方案。

第三方組件支援域名實例
運行於Rainbond集群之外,運行生命周期不受Rainbond管理,且在網路上能夠與Rainbond集群通訊的組件稱為第三方組件。例如單獨運行的MySQL服務,或運行於Windows伺服器的.net服務等。
在雲計算的環境中, 各個雲服務商都推出了許多雲服務, 比如: 阿里雲的 雲資料庫RDSMySQL版
, 雲資料庫Redis版
, 雲資料庫MongoDB版
和 亞馬遜的 ElasticsearchService
. 這些雲服務提供的公網連接地址都是 域名
。
為了方便用戶將實例地址為 域名
的第三方組件加入到 Rainbond 中, 在此次迭代中, 第三方組件在只支援IP實例的基礎上增加了 域名實例
。Rainbond ServiceMesh層可以動態解析域名並載入通訊地址,第三方組件健康檢測器也增加了對域名的支援。

其他功能改進和BUG修復
- 應用支援帶插件備份和恢復
- 規範產品抽象描述 #266
- 離線模式下優化雲端應用市場頁面的網路故障展示。
- 創建或更新應用時,有概率出現無法點擊「查看日誌」 #214
- 多實例組件在線縮容,組件狀態不停進入啟動中 #460
- 自定義域名 一旦綁定,在網關策略選項中修改其配置時,會被認為 是違法域名,禁止修改 #461
- 應用共享其他服務存儲設置後不生效 #456
- 5.1.7在創建應用時無法正確保存ARG參數 #453
- 使用svn從源碼創建,平台識別路徑錯誤 #444
- 對環境變數命名的檢測問題 #391
- 環境變數刪除失敗,操作無響應 #434
- 通過源碼創建應用時,使用https連接,倉庫地址前加空格平台會判定為ssh連接 #224
- 組件日誌列印無縮進 #217
- 應用發布到應用市場時添加的應用圖標無法預覽 #215
- .Netcore 語言源碼構建,cmd 參數沒有被傳遞導致運行異常 #447
安裝
升級
升級要求和注意事項
- V5.1.8版本支援從V5.1.2 – V5.1.7版本升級,如果你還未升級到V5.1.2版本,參考V5.1.x版本升級文檔,先升級至V5.1.2版本:
grctl version
, 例如5.1.7版本顯示如下:grctl version v5.1.7-release-afa0e36-2019-09-11-00
- 升級過程會重啟管理服務,因此單管理節點的集群會短暫影響控制台操作和應用訪問,請選擇合理的升級時間段。
- 升級過程腳本需要從集群獲取節點數據,請務必在集群正常工作情況下進行升級。
- 升級前請備份控制台和數據中心資料庫。
- 升級過程的主要耗時點是解壓升級包和導入服務鏡像的過程,根據你的伺服器寫入速度而定。
- 如果你手動調整過
/opt/rainbond/conf
下的服務配置文件導致升級失敗請到社區諮詢。
下載 5.1.8 更新包
離線包鏡像大小約1.3GB,需要保證當前集群磁碟可用空間至少不低於2G
# Rainbond 組件升級包 wget https://pkg.rainbond.com/offline/5.1/rainbond.images.2019-10-20-5.1.8.tgz -O /grdata/services/offline/rainbond.images.upgrade.5.1.8.tgz # 升級腳本包 wget https://pkg.rainbond.com/offline/5.1/rainbond-ansible.upgrade.5.1.8.tgz -O /grdata/services/offline/rainbond-ansible.upgrade.5.1.8.tgz
第一個管理節點執行下述命令升級平台
再次提醒,升級前系統比較運行正常,升級過程耗時取決於你的系統磁碟寫入速度,腳本未成功之前請勿主動終止升級。
rm -rf /tmp/rainbond-ansible rm -rf /grdata/services/offline/upgrade mkdir -p /tmp/rainbond-ansible tar xf /grdata/services/offline/rainbond-ansible.upgrade.5.1.8.tgz -C /tmp/rainbond-ansible cd /tmp/rainbond-ansible/scripts/upgrade/ bash ./upgrade.sh
平台升級完成驗證
- 執行
grctl cluster
確定所有服務和節點運行正常 - 執行
grctl version
命令 確認版本已升級到5.1.8 - 執行
dps
命令查看以下組件運行使用的鏡像版本是否為v5.1.8-release
組件 |
版本 |
---|---|
rbd-worker |
v5.1.8-release |
rbd-api |
v5.1.8-release |
rbd-app-ui |
v5.1.8-release |
rbd-chaos |
v5.1.8-release |
rbd-eventlog |
v5.1.8-release |
rbd-gateway |
v5.1.8-release |
rbd-monitor |
v5.1.8-release |
rbd-webcli |
v5.1.8-release |
rbd-mq |
v5.1.8-release |
升級常見問題排查
- 升級後以上鏡像版本沒有變化
下面以rbd-api組件為例,升級後鏡像版本停留在舊版本,手動更新單個組件
# 重新拉取rbd-api鏡像 docker pull rainbond/rbd-api:v5.1.8-release # 修改鏡像tag docker tag rainbond/rbd-api:v5.1.8-release goodrain.me/rbd-api:v5.1.8-release # 找到rbd-api配置文件/opt/rainbond/conf/master.yaml 修改-i指定的rbd-api鏡像資訊為goodrain.me/rbd-api:v5.1.8-release # 更新node節點上的服務 node service update # 此時重新查看組件運行使用的鏡像版本應為修改後的鏡像版本,查看集群狀態健康,到此完成手動更新
升級如有問題,請至社區回饋