韩国保姆2_少女伦理电影_HD中文字幕在线观看,玩偶姐姐在线观看高清,8090新视觉电影免费播放在线观看,98蜜桃

沃趣科技技術(shù)社區(qū)
行業(yè)前沿信息一網(wǎng)打盡
技術(shù)社區(qū) > 數(shù)據(jù)庫技術(shù)b|Nocalhost - 讓云原生時代的開發(fā)更高效

數(shù)據(jù)庫技術(shù)b|Nocalhost - 讓云原生時代的開發(fā)更高效

2023年06月14日

01 痛點(diǎn)



在我們團(tuán)隊將產(chǎn)品的部署形態(tài)遷移到kubernetes上之后,在研發(fā)過程中,開發(fā)和聯(lián)調(diào)代碼的過程非常的痛苦,決定尋找在k8s環(huán)境下的云原生時代的打通本地和開發(fā)環(huán)境的解決方案。


回顧一下,過去的開發(fā)過程,我們的進(jìn)程一共有2種模式,即k8s無關(guān)進(jìn)程和依賴了k8s的進(jìn)程。



02 分析


- k8s無關(guān)進(jìn)程 -

  • 由于項目依賴了oracle連接庫,安裝oracle驅(qū)動,在團(tuán)隊中既有window,unbuntu,和mac的情況下,團(tuán)隊成員的本地開發(fā)環(huán)境的搭建非常復(fù)雜

  • 進(jìn)程依賴的環(huán)境變量非常多,如果開發(fā)環(huán)境的ip換掉,配置環(huán)境變量非常麻煩

  • 進(jìn)程內(nèi)依賴了一些二進(jìn)制bin文件,格式是ELF的,這些文件在windows和mac的環(huán)境上是無法執(zhí)行的


- 依賴了k8s的進(jìn)程 -

  • 需要復(fù)制開發(fā)環(huán)境上kubeconfig文件到本地,一個人如果同時開發(fā)多個環(huán)境,切換kubeconfig文件非常繁瑣

  • 本地開發(fā)無法將開發(fā)環(huán)境上的流量導(dǎo)到本地,需要打包替換環(huán)境上鏡像來完成聯(lián)調(diào)



03 現(xiàn)狀


因此日常的開發(fā)流程便是:

  1. 配置環(huán)境變量和kubeconfig

  2. 使用postman等其他工具進(jìn)行本地開發(fā)

  3. 提交代碼、跑 CI 流程,出鏡像

  4. 替換環(huán)境上鏡像

  5. 自測


顯然,為了保證在本地開發(fā)的代碼,在環(huán)境上真實運(yùn)行的效果完全一致,帶來了很大的工作效率問題,本地編碼2分鐘,上環(huán)境自測5分鐘




04 需求


因此我們急需一種便捷的,學(xué)習(xí)成本低的,基于配置的,一勞永逸的,團(tuán)隊統(tǒng)一的解決方案來打通本地和開發(fā)環(huán)境,節(jié)省本地開發(fā)環(huán)境的搭建和配置的時間,節(jié)省團(tuán)隊成員聯(lián)調(diào)的時間,提高團(tuán)隊效率




05 方案選型


Telepresence

參考

https://docs.microsoft.com/zh-cn/visualstudio/bridge/overview-bridge-to-kubernetes?view=vs-2022



介紹

Telepresence是一款為Kubernetes微服務(wù)框架提供快速本地化開發(fā)功能的開源軟件。Telepresence在Kubernetes集群中運(yùn)行的Pod中部署雙向網(wǎng)絡(luò)代理,該P(yáng)od將Kubernetes環(huán)境(如TCP連接,環(huán)境變量,卷)中的數(shù)據(jù)代理到本地進(jìn)程。本地進(jìn)程透明地覆蓋其網(wǎng)絡(luò),以便DNS調(diào)用和TCP連接通過代理路由到遠(yuǎn)程Kubernetes集群,能夠獲取



特性

  • 基于在本地計算機(jī)使用docker,fuse/sshfs 和流量轉(zhuǎn)發(fā)技術(shù),來將本地和遠(yuǎn)程之間的流量和文件系統(tǒng)打通,以在本地使用ide進(jìn)行調(diào)試

  • 本地訪問遠(yuǎn)端的服務(wù), 跨namespace

  • 本地服務(wù)可以完全訪問遠(yuǎn)程群集中的其他服務(wù);

  • 本地服務(wù)可以完全訪問Kubernetes的環(huán)境變量,Secrets和ConfigMap

  • K8S中運(yùn)行的遠(yuǎn)程服務(wù)也可以完全訪問本地服務(wù)

  • 通過在本地使用docker來運(yùn)行本地代碼,并和遠(yuǎn)程k8s服務(wù)通信,本支行承擔(dān)了類似kubelet的角色



缺陷

  • 不支持ide插件

  • 不能將本地代碼同步到遠(yuǎn)端進(jìn)行調(diào)試

  • 沒有做隔離,進(jìn)入調(diào)試模式后,服務(wù)的可用性取決于本地服務(wù)

  • 只能使用命令操作,操作不能配置化,操作繁瑣


Bridge to kubernetes

參考

https://docs.microsoft.com/zh-cn/visualstudio/bridge/overview-bridge-to-kubernetes?view=vs-2022



介紹

Bridge to Kubernetes 可重定向已連接的 Kubernetes 群集與開發(fā)計算機(jī)之間的流量。Kubernetes 群集中的本地代碼和服務(wù)可以像在同一 Kubernetes 群集中一樣進(jìn)行通信。


Bridge to Kubernetes插件只可用于Visual Studio和VS Code,支持其他ide的計劃還在官方的RoadMap上沒有開始

1.png



工作原理

  • 提示你在群集上配置要替換的服務(wù),在開發(fā)計算機(jī)上配置用于代碼的端口,并將代碼的啟動任務(wù)配置為一次性操作。

  • 將群集上 pod 中的容器替換為遠(yuǎn)程代理容器,它會將流量重定向到開發(fā)計算機(jī)。

  • 在開發(fā)計算機(jī)上運(yùn)行 kubectl port-forward,將流量從開發(fā)計算機(jī)轉(zhuǎn)發(fā)到群集中運(yùn)行的遠(yuǎn)程代理。

  • 使用遠(yuǎn)程代理從群集收集環(huán)境信息。此環(huán)境信息包括環(huán)境變量、可見服務(wù)、卷裝載和機(jī)密裝載。

  • 在 Visual Studio 中設(shè)置環(huán)境,以便開發(fā)計算機(jī)上的服務(wù)可以訪問相同變量,就像它在該群集上運(yùn)行一樣。

  • 更新 主機(jī)文件 ,將群集上的服務(wù)映射到開發(fā)計算機(jī)上的本地 IP 地址。 這些主機(jī) 文件條目允許開發(fā)計算機(jī)上運(yùn)行的代碼向群集中運(yùn)行的其他服務(wù)請求。若要更新 主機(jī)文件 ,Bridge to Kubernetes計算機(jī)上需要管理員訪問權(quán)限。

  • 開始在開發(fā)計算機(jī)上運(yùn)行和調(diào)試代碼。如有必要,Bridge to Kubernetes停止當(dāng)前使用這些端口的服務(wù)或進(jìn)程,以釋放開發(fā)計算機(jī)上所需的端口。



特性

  • 打通本地和遠(yuǎn)程k8s環(huán)境的流量

  • 將環(huán)境信息包括環(huán)境變量、service、volume,secret,configmap克隆到本地

  • 通過自動修改/etc/hosts文件,將集群上的服務(wù)映射到開發(fā)計算機(jī)上的本地 IP 地址



缺陷

Bridge to Kubernetes 具有以下限制:

  1. 要使 Bridge to Kubernetes 成功連接,一個 pod 只能有一個容器在該 pod 中運(yùn)行,但是現(xiàn)實中有很多多容器的pod。

  2. 目前,Bridge to Kubernetes pod 必須是 Linux 容器。Windows容器。

  3. 如果k8s環(huán)境是集群環(huán)境,若要更新 /etc/hosts 文件  ,Bridge to Kubernetes計算機(jī)上需要管理員訪問權(quán)限


Nocalhost

參考

https://nocalhost.dev/zh-CN/docs/introduction



介紹

Nocalhost 是一款開源的基于 IDE 的云原生應(yīng)用開發(fā)工具:

  • 直接在 Kubernetes 集群中構(gòu)建、測試和調(diào)試應(yīng)用程序

  • 提供易于使用的 IDE 插件(支持 VS Code 和 JetBrains),即使在 Kubernetes 集群中進(jìn)行開發(fā)和調(diào)試,Nocalhost 也能保持和本地開發(fā)一樣的開發(fā)體驗

  • 使用即時文件同步進(jìn)行開發(fā): 即時將您的代碼更改同步到遠(yuǎn)端容器,而無需重建鏡像或重新啟動容器。


Nocalhost 的野心相比 Bridge to Kubernetes 和 Telepresence 更大,具有開發(fā)環(huán)境的管理體系。深度整合 vscode / IntelliJ IDEA 實現(xiàn)了一鍵部署上云,一鍵遠(yuǎn)程 debug 等式開發(fā)的貼心功能。


其設(shè)計的核心就是自動同步:

  • 自動同步和熱加載代碼

  • 文件

  • 終端


Nocalhost 目前是完全開源的,并已進(jìn)入 CNCF Landscape:

支持goland, idea,pycharm, vscode


工作原理

Nocalhost 由單個二進(jìn)制 CLI 和 IDE 插件組成。理想情況下,您可以直接將它與您熟悉的 IDE 一起使用。 


Nocalhost 不需要服務(wù)器端組件,因為它通過 KubeConfig 直接與您的 Kubernetes 集群通信,就像 kubectl 一樣。



特性

- 實時線上編碼 -

Nocalhost 預(yù)配置為與你喜歡的 IDE 配合使用,你可以一鍵連接到任何 Kubernetes 集群,開始享受在集群內(nèi)進(jìn)行編碼,擺脫煩人的本地環(huán)境配置。


- 實時同步 -

Nocalhost 可以在你每次進(jìn)行修改時自動將代碼同步到 K8s 容器中。這樣能免去了鏡像提交、構(gòu)建和推送等步驟,極大提速了開發(fā)的反饋循環(huán)。因此代碼修改可以實現(xiàn)秒級生效。

2.jpeg

- 易于協(xié)作 -

  • Nocalhost 可幫助你的團(tuán)隊實現(xiàn)標(biāo)準(zhǔn)化開發(fā)工作流程,而無需讓團(tuán)隊中的每個人都成為 Kubernetes 專家。

  • 團(tuán)隊中的 Kubernetes 和 DevOps 專家可以通過 Nocalhost Server 配置和管理集群、應(yīng)用程序、DevSpace 和用戶。閱讀有關(guān) Nocalhost Server 的更多信息

  • 開發(fā)人員無需成為 Kubernetes 專家,即可輕松查看項目并即時在 Kubernetes 集群中開始編碼和調(diào)試。



使用方式

Nocalhost 由單個二進(jìn)制 CLI 和 IDE 插件組成。理想情況下,您可以直接將它與您熟悉的 IDE 一起使用。



為什么使用Nocalhost?

構(gòu)建 Kubernetes 應(yīng)用并不簡單,尤其對于大型開發(fā)團(tuán)隊來說更具挑戰(zhàn)。Nocalhost 提供了最高效的方式來構(gòu)建云原生應(yīng)用程序。


使用 Nocalhost 直接在 Kubernetes 中進(jìn)行開發(fā)的優(yōu)勢有:

  • 生產(chǎn)環(huán)境相似性 - 開發(fā)環(huán)境與你的生產(chǎn)環(huán)境非常相似,讓你更有信心在發(fā)布新功能時一切都將在生產(chǎn)環(huán)境中正常工作。

  • 提速反饋循環(huán) - 通過文件同步,你所有代碼更改可以在容器中立即生效,而無需重建鏡像或重新部署容器。

  • 靈活的擴(kuò)展性 - 開發(fā)人員無需再擔(dān)心本地資源不足。

  • 降低成本 - 更有效地使用資源并降低 IT 設(shè)施成本。


在下述環(huán)境里,在 Kubernetes 集群中進(jìn)行開發(fā)很有用:

  • 本地資源的限制

  • 由于環(huán)境的特殊性,在本地?zé)o法搭建能夠運(yùn)行的環(huán)境

  • 想要在類似生產(chǎn)環(huán)境中測試你的應(yīng)用

  • 想要調(diào)試在本地計算機(jī)上難以重現(xiàn)的問題

  • 應(yīng)用程序需要訪問集群內(nèi)部服務(wù) (例如集群 DNS)



對比PK

3.png


三者比較來看Nocalhost是特性最多,支持的場景最多,支持IDE的插件最多,并且用戶體驗最好。完勝其他兩位,是其他兩個工具支持特性的超集,因此我們選擇了Nocalhost,讓基于云原生的開發(fā)更高效。



讓數(shù)據(jù)庫基礎(chǔ)設(shè)施更簡單
加速企業(yè)數(shù)字化轉(zhuǎn)型建設(shè)及落地
立即咨詢

沃趣科技

中立的企業(yè)級數(shù)據(jù)庫云
十年磨一劍十年來始終如一的專注數(shù)據(jù)庫生態(tài)領(lǐng)域
夯實技術(shù)底蘊(yùn)打造最適合時代的數(shù)據(jù)庫基礎(chǔ)設(shè)施
業(yè)績持續(xù)領(lǐng)先目前已累計服務(wù)超3000家企業(yè)客戶

留言咨詢

完善信息,我們第一時間跟您聯(lián)系
姓名
手機(jī)
公司
所在地區(qū)
咨詢問題