教學課程:在本機使用 Bridge to Kubernetes 在 Visual Studio 上執行和偵錯
注意
Bridge to Kubernetes 將於 2025 年 4 月 30 日淘汰。 如需淘汰和開放原始碼替代方案的詳細資訊,請參閱 GitHub 問題。
在本教學課程中,您將瞭解如何將 Kubernetes 叢集與開發電腦之間的流量重新導向。 本教學課程使用 Bridge to Kubernetes 和 Visual Studio 來偵錯服務。 若要使用 Visual Studio Code,請參閱 使用 Bridge to Kubernetes 透過 VS Code 在本機執行和偵錯。
若要深入瞭解 Bridge to Kubernetes,請參閱 Bridge to Kubernetes 的運作方式。
在本教學課程中,您將瞭解如何:
- 使用 Bridge to Kubernetes 連線到您的叢集。
- 針對開發目的,將路由請求傳送至在本地運行的服務。
- 在本機電腦上除錯正在執行的服務。
先決條件
- Kubernetes 叢集。 您可以在 Azure 入口網站上建立。 如果您沒有 Azure 訂用帳戶,您可以 免費建立帳戶。
- 安裝在系統上的 kubectl 可執行檔。
- Visual Studio 2019 版本 16.7 或更新版本在 Windows 10 或更高版本上運行,或 Visual Studio 2022。
- 適用於 Visual Studio 2019 的 Bridge to Kubernetes 擴充功能 或適用於 Visual Studio 2022 的 Bridge to Kubernetes 擴充功能。
設定服務
本教學課程使用 Bridge to Kubernetes,在任何 Kubernetes 叢集上使用簡單的 Todo 範例應用程式。
範例應用程式具有前端來互動,以及提供永續性記憶體的後端。
開啟 Bash 視窗,並檢查您的叢集是否可用且已就緒。 然後將情境設定為該叢集。
kubectl cluster-info kubectl config use-context <kubernetes-cluster>
複製範例存放庫。
git clone https://github.com/hsubramanianaks/b2k-samples
將目錄變更為 todo-app,然後建立範例的命名空間。
kubectl create namespace todo-app
套用部署指令清單:
kubectl apply -n todo-app -f deployment.yaml
這個簡單的部署會使用 類型為
LoadBalancer
的服務來公開前端。 等待所有 Pod 完全啟動,並等待frontend
服務的外部 IP 可供使用。如果您要使用 MiniKube 進行測試,請使用
minikube tunnel
解析外部 IP。 如果您使用 AKS 或其他雲端式 Kubernetes 提供者,則會自動指派外部 IP。使用下列命令來監視
frontend
服務,等到服務啟動並執行為止:kubectl get service -n todo-app frontend --watch NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE frontend LoadBalancer 10.0.245.78 10.73.226.228 80:31910/TCP 6m26s
連接到您的叢集
開啟 Visual Studio。 在 [開始使用] 視窗中,選取 [繼續而不使用程式碼]。
選取 [[開啟>專案/方案],然後尋找 todo-app\database-api\databaseApi.csproj 專案,然後選取 [[開啟]。
在專案中,從啟動設定中選取 [Bridge to Kubernetes,如下所示:
選取 [網橋至 Kubernetes旁的 [開始] 按鈕。 在 [建立 Bridge to Kubernetes 配置檔] 對話框中,輸入下列值:
- 選取您的叢集名稱。
- 請為您的命名空間選擇「todo-app」。
- 選取 database-api 以便 服務 重新導向。
- 選取您先前用來啟動瀏覽器的相同 URL。
如果您要執行隔離,請選擇 [啟用路由隔離。 如果您啟用路由隔離,則使用叢集的其他人不會受到變更的影響。 隔離模式會將您的請求路由傳送至您持有的每個受影響服務的副本。 其通常會路由傳送其他流量。 如需詳細資訊,請參閱 Bridge to Kubernetes 的運作方式。
選取 [儲存並偵錯 以儲存變更。
注意
EndpointManager 會提示您允許對 主機的 檔案進行更高權限的修改。
您的開發電腦會連線到叢集。 狀態列會顯示您已連線到
database-api
服務。請嘗試輸入工作,並將其標示為完成。
選取 偵錯>停止偵錯 停止偵錯。 此動作的快捷方式 Shift+F5,或使用工具列中的 [停止偵錯] 按鈕。
橋接至 Kubernetes 會將 資料庫 api 服務的所有流量重新導向。 它會重新導向至您在開發電腦上的應用程式版本。 網橋至 Kubernetes 也會將應用程式的所有輸出流量路由回 Kubernetes 叢集。
注意
根據預設,停止偵錯工作也會中斷開發計算機與 Kubernetes 叢集的連線。 若要變更此行為,請選取 [[工具]>[選項],然後選取 [Kubernetes 偵錯工具]。 將偵錯後 中斷連線 設定為 False。
更新此設定之後,您的開發電腦在停止與重新啟動偵錯時會保持連線。 若要中斷開發計算機與叢集的連線,請按下工具列上的 [[中斷連線] 按鈕。
設定斷點
在本節中,您會在服務中設定斷點。
在 [方案總管]中,選取 [MongoHelper.cs] 以在編輯器中開啟檔案。 如果您沒有看到 [方案總管],請選取 [檢視]>[方案總管]。
在 createTask 方法主體的第一行上設定游標。 然後選取 [除錯]>[切換斷點] 來設定斷點。
此動作的快捷方式 F9。
選取 Bridge to Kubernetes旁的 [開始] 按鈕,如同您在上一節中所做的一樣。 偵錯會以您先前輸入的值開始。
在開啟的瀏覽器中,在 todos 中輸入值,然後選取 [Enter]。 程式碼到達了您設置的斷點。 當您在執行實際偵錯任務時,可以使用偵錯選項逐步檢查程式碼。
選取 偵錯>停止偵錯 停止偵錯。
若要移除斷點,請選取該行,然後選取 [偵錯]>[切換斷點],或選取 [F9]。
編輯啟動配置檔
如果您需要變更 Bridge to Kubernetes 連線到叢集的方式,請在本節中編輯啟動配置檔設定。
在 Visual Studio 命令行中,按兩下 [開始] 按鈕旁的箭號(綠色三角形或[播放] 圖示),以開啟下拉式清單,然後按兩下 [databaseApi 偵錯屬性]。
在 [啟動配置檔] 對話框中,點擊 [編輯配置檔以橋接至 Kubernetes] 連結。
另一種進入這個畫面的方法:
以滑鼠右鍵按兩下 [方案總管] 中的項目節點,然後選擇 [屬性] (或按 Alt+Enter]。
向下捲動至 [偵錯],然後選擇 [開啟偵錯啟動配置 UI]。
清除資源
如果您使用本教學課程的範例 todo 應用程式,您可以使用 Azure 入口網站從叢集中移除它。 如果您在本機複製該存放庫,您可以手動刪除該存放庫。
後續步驟
若要深入瞭解 Bridge to Kubernetes,請參閱 Bridge to Kubernetes 的運作原理。
若要瞭解如何使用 Visual Studio Code 將開發電腦連線到叢集,請參閱這篇文章: