掃二維碼與項目經(jīng)理溝通
我們在微信上24小時期待你的聲音
解答本文疑問/技術(shù)咨詢/運營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流
Nocalhost 可以直接在 Kubernetes 中開發(fā)應(yīng)用,Rainbond 可以快速部署微服務(wù)項目,無需編寫Yaml,Nocalhost 結(jié)合 Rainbond 加速我們的微服務(wù)開發(fā)效率。

Nocalhost[1] 是一款開源的基于 IDE 的云原生應(yīng)用開發(fā)工具:
直接在 Kubernetes 集群中構(gòu)建、測試和調(diào)試應(yīng)用程序。
提供易于使用的 IDE 插件(支持 VS Code 和 JetBrains),即使在 Kubernetes 集群中進行開發(fā)和調(diào)試,Nocalhost 也能保持和本地開發(fā)一樣的開發(fā)體驗。
使用即時文件同步進行開發(fā):即時將您的代碼更改同步到遠端容器,而無需重建鏡像或重新啟動容器。
Rainbond[2] 是一款云原生應(yīng)用管理平臺:
使用簡單,不需要懂容器、Kubernetes和底層復(fù)雜技術(shù),支持管理多個Kubernetes集群,和管理企業(yè)應(yīng)用全生命周期。主要功能包括應(yīng)用開發(fā)環(huán)境、應(yīng)用市場、微服務(wù)架構(gòu)、應(yīng)用交付、應(yīng)用運維、應(yīng)用級多云管理等。
以前我們在本地 + Rainbond 開發(fā)微服務(wù)時,要開發(fā)的模塊我們運行在本地,其他模塊運行在 Rainbond 上,我們通過 Rainbond 的網(wǎng)關(guān)與本地進行通信、聯(lián)調(diào)。
這樣會遇到一些問題:
現(xiàn)在我們通過 Nocalhost + Rainbond 開發(fā)微服務(wù)時,所有服務(wù)都運行在 Rainbond 上,當(dāng)要開發(fā)時本地 Vscode 直連到 Rainbond 組件中,并與本地代碼實時同步到 Rainbond 組件中。多人開發(fā)聯(lián)調(diào)時,可通過 Rainbond 內(nèi)置的 Service Mesh 進行服務(wù)之間聯(lián)調(diào)。
Nocalhost 目前支持兩種開發(fā)模式:
本篇將主要介紹 Replace DevMode,當(dāng)進入 Replace DevMode 時,Nocalhost 會對 組件 執(zhí)行以下操作:
Nocalhost 支持 VScode JetBrains ,這里我們主要介紹 VScode 插件安裝[3]參考官網(wǎng)文檔。
我們選擇 基于主機安裝 Rainbond[4]。
上面我們已經(jīng)在本地 Vscode 中對接好了集群,并且也已經(jīng)在 Rainbond 中安裝了 Spring Cloud Pig 微服務(wù),那么接下來我們在本地 Vscode 中選擇其中一個組件進行開發(fā),這里為了效果更明顯,選擇開發(fā) pig-ui 組件。
Spring Cloud Pig 后端[5]
Spring Cloud Pig 前端[6]
git clone https://gitee.com/zhangbigqi/pig-ui
打開 Vscode,點擊按鈕,找到我們的 Pig-ui 組件,由于該應(yīng)用是從開源應(yīng)用商店中安裝,Deployment名稱是自動生成的字符串,我們需要在組件中查詢下。
我們點擊旁邊的進入開發(fā)模式,
npm install
npm run dev
啟動后效果如下,容器內(nèi)端口為 80。
開啟端口轉(zhuǎn)發(fā),點擊按鈕,找到我們的 Deployment,右鍵選擇 Port Forward,Add Port Forward,輸入 38000:80 將容器的80端口轉(zhuǎn)發(fā)到本地的38000端口。
上面已經(jīng)演示了如果通過本地訪問到遠端容器內(nèi)的服務(wù),接下來我們修改代碼看下效果。
修改 src/page/wel.vue,新增一段代碼,保存??梢园l(fā)現(xiàn),當(dāng)我們保存的時候,終端中就自動重啟了,與本地開發(fā)效果一致。
文件的修改會實時同步到容器中。
刷新頁面http://localhost:38000,可以看到修改的內(nèi)容已生效。
通過以上的實踐步驟,我們已經(jīng)可以通過 Nocalhost 開發(fā) Rainbond 上的微服務(wù)應(yīng)用,擺脫本地開發(fā),進入云原生快速開發(fā),提升我們的開發(fā)效率。
本文僅介紹了基本的開發(fā),還可以為項目配置 Nocalhost開發(fā)配置[7] 等等,小伙伴們可以自行探索。
[1]Nocalhost: https://nocalhost.dev
[2]Rainbond: https://www.rainbond.com/docs
[3]VScode 插件安裝: https://nocalhost.dev/docs/installation
[4]基于主機安裝 Rainbond: https://www.rainbond.com/docs/installation/install-with-ui/host-install-with-ui
[5]Spring Cloud Pig 后端: https://gitee.com/zhangbigqi/pig
[6]Spring Cloud Pig 前端: https://gitee.com/zhangbigqi/pig-ui[7]Nocalhost開發(fā)配置: https://nocalhost.dev/docs/config/config-overview-en
本文為作者張齊投稿,作者為云原生愛好者,歡迎各位投稿。

我們在微信上24小時期待你的聲音
解答本文疑問/技術(shù)咨詢/運營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流