本文將介紹如何使用 Nocalhost 快速開發 Rainbond 上的微服務應用的開發流程以及實踐操作步驟。
Nocalhost 可以直接在 Kubernetes 中開發應用,Rainbond 可以快速部署微服務專案,無需編寫Yaml,Nocalhost 結合 Rainbond 加速我們的微服務開發效率。
Nocalhost 是一款開源的基於 IDE 的雲原生應用開發工具:
Rainbond 是一款雲原生應用管理平臺:
以前我們在本地 + Rainbond 開發微服務時,要開發的模組我們執行在本地,其他模組執行在 Rainbond 上,我們通過 Rainbond 的閘道器與本地進行通訊、聯調。
這樣會遇到一些問題:
現在我們通過 Nocalhost + Rainbond 開發微服務時,所有服務都執行在 Rainbond 上,當要開發時本地 Vscode 直連到 Rainbond 元件中,並與原生程式碼實時同步到 Rainbond 元件中。多人開發聯調時,可通過 Rainbond 內建的 Service Mesh 進行服務之間聯調。
使用 Nocalhost 開發,可以解決本地開發時遇到的問題:
Nocalhost 目前支援兩種開發模式:
本篇將主要介紹 Replace DevMode,當進入 Replace DevMode 時,Nocalhost 會對 元件 執行以下操作:
將副本數縮減為 1
替換容器的映象為開發映象
增加一個 sidecar 容器。
轉發一個本地埠到檔案同步伺服器。
啟動本地檔案同步使用者端。
開啟遠端終端。
Nocalhost 支援 VScode
JetBrains
,這裡我們主要介紹 VScode 外掛安裝參考官網檔案。
Extension
按鈕 圖示Nocalhost
選擇 Nocalhost 外掛
,並點選 Install 按鈕我們選擇 基於主機安裝 Rainbond
kubeconfig
檔案,進入 Rainbond 叢集檢視 -> 點選節點設定 -> kubeconfig我們將 kubeconfig
檔案複製到本地並儲存為 yaml
檔案。
開啟 Vscode,點選按鈕 ,開啟 Nocalhost 外掛,選擇 Connect to Cluster,選擇我們 kubeconfig
檔案的路徑,點選 Add Cluster,新增叢集。
新增完成後,如下圖:
這裡選擇從開源應用商店安裝 Spring Cloud Pig 微服務元件,在應用商店中搜尋 Pig 進行安裝。
部署完成後,效果如下:
上面我們已經在本地 Vscode 中對接好了叢集,並且也已經在 Rainbond 中安裝了 Spring Cloud Pig 微服務,那麼接下來我們在本地 Vscode 中選擇其中一個元件進行開發,這裡為了效果更明顯,選擇開發 pig-ui
元件。
git clone https://gitee.com/zhangbigqi/pig-ui
開啟 Vscode,點選按鈕 ,找到我們的 Pig-ui 元件,由於該應用是從開源應用商店中安裝,Deployment名稱是自動生成的字串,我們需要在元件中查詢下。
我們點選旁邊的