使用 Bridge to Kubernetes 簡化雲端開發
- 2021 年 6 月 6 日
- 筆記
- .NET, Kubernetes, Visual Studio Code, 企業解決方案
當我們面對一個大型應用程式,它有大量的微服務,並希望完成一些功能開發? 我們面臨許多挑戰,其中之一將是處理正確的環境,如何進行開發。我們知道,在團隊中解決這個問題的最佳方法是將其容器化並在雲上託管。這將使開發人員能夠處理特定功能並調試容器,而無需在本地創建環境。
微軟在2020年9月份發布Visual Studio擴展工具Bridge to Kubernetes://devblogs.microsoft.com/visualstudio/bridge-to-kubernetes-ga/ 。Bridge to Kubernetes是一種迭代開發工具,作為Visual Studio和VS Code的擴展提供,旨在簡化微服務的開發。開發人員可以在開發工作站上編寫、測試和調試微服務程式碼,同時從 Kubernetes 環境中繼承現有配置並消費依賴關係。 微軟的Azure雲解決方案架構師寫了一篇不錯的文章://sajeetharan.com/2020/10/28/bridge-to-kubernetes/ 。
部落格上給出了一張圖, 總結了微服務開發的三種場景:本地,遠程和混合的方法
開發人員從本地開發方法轉向混合方法,這是使用k8s 構建應用程式提供了最佳方式。使用混合方法,它允許開發人員在其開發工作站上編寫程式碼,但也允許他們連接到在遠程環境中運行的處理外部依賴依賴服務。因此,它實際上通過連接它們來滿足所有這些外部依賴關係。假設您在Azure的 Kubernetes 上運行應用程式,則可以連接本地環境中的所有依賴關係,並擁有整個端到端工作流【可以支援任何k8s集群://devblogs.microsoft.com/visualstudio/bridge-to-kubernetes-ga/#support-for-any-kubernetes】。
上圖這樣的場景,我正在開發一個微服務,需要處理使用不同技術開發的產品和其他微服務部署在 Azure 上的 Kubernetes 集群上。 如果我想連接到多個微服務,我當地的環境中運行一些集成測試,Bridge to Kubernetes將有助於我實現這個要求。它的一些主要功能:
- 加速和簡化微服務開發:它基本上消除了手動推送程式碼、配置和編譯外部依賴您的開發環境的需要,這樣您就可以專註於程式碼而不擔心其他因素。
- 簡單調試程式碼:它允許您使用添加的k8s配置運行您通常的調試配置文件。它允許開發人員以他們想要的方式調試程式碼,同時利用本地調試的速度和靈活性。
- 開發和測試端到端:其中一個重要特點是在開發過程中進行集成測試。選擇集群中的現有服務,以路由到本地運行該服務實例的開發機器。開發人員可以通過在 Kubernetes 中運行的應用程式的前端發起請求,它將在集群中運行的服務之間路由,直到您指定的重定向服務與在程式碼中添加斷點進行調試的服務相同。
使用方法非常簡單,直接從Visual Studio 或者是VSCode 的插件市場上安裝Bridge to Kubernetes 插件。VisualStudio安裝好插件後可以通過這篇文檔走一遍:使用 Bridge to Kubernetes , VS Code安裝好插件後也可以通過這篇文檔走一遍:Use Bridge to Kubernetes with a sample。 這樣的開發體驗很棒, 這個體驗要比騰訊的方案 Nocalhost://nocalhost.dev/