­

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

安裝

> 參考Rainbond安裝文檔指南

升級

升級要求和注意事項
  • 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  # 此時重新查看組件運行使用的鏡像版本應為修改後的鏡像版本,查看集群狀態健康,到此完成手動更新

升級如有問題,請至社區回饋