教學課程:在本機使用 Bridge to Kubernetes 在 Visual Studio 上執行和偵錯
在本教學課程中,您將了解如何將 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 可執行檔。
- 在 Windows 10 或更新版本上執行的 Visual Studio 2019 16.7 版或更新版本或 Visual Studio 2022。
- 適用於 Visual Studio 2019 的 Bridge to Kubernetes 延伸模組或適用於 Visual Studio 2022 的 Bridge to Kubernetes 延伸模組。
- 要疑難排解的應用程式,例如此 TODO 應用程式範例應用程式。
設定服務
本教學課程使用 Bridge to Kubernetes,在任何 Kubernetes 叢集上使用簡單的 Todo 範例應用程式。
範例應用程式具有用來互動的前端,以及提供持續性儲存體的後端。
開啟 Bash 視窗,並檢查您的叢集是否可用且已準備就緒。 然後將內容設定為該叢集。
kubectl cluster-info kubectl config use-context <kubernetes-cluster>
複製範例存放庫。
git clone https://github.com/Azure/Bridge-To-Kubernetes
將目錄變更為 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。 在 [開始使用] 視窗中,選取 [不使用程式碼繼續]。
選取 [開啟]>[專案/方案],接著尋找 samples\todo-app\database-api\databaseApi.csproj 專案,然後選取 [開啟]。
在專案中,從啟動設定選取 [Bridge to Kubernetes],如下所示:
選取 [Bridge to Kubernetes] 旁的 [開始] 按鈕。 在 [建立 Bridge to Kubernetes 設定檔] 對話方塊中,輸入下列值:
- 選取您的叢集名稱。
- 為您的命名空間選取 todo-app。
- 選取要重新導向之服務的 database-api。
- 選取您先前用來啟動瀏覽器的相同 URL。
如果您想要執行隔離,請選取 [啟用路由隔離]。 如果您啟用路由隔離,則使用叢集的其他人不會受到變更的影響。 隔離模式會將您的要求路由傳送至每個受影響服務的複本。 其通常會路由傳送其他流量。 如需詳細資訊,請參閱 Bridge to Kubernetes 的運作方式。
選取 [儲存並偵錯] 以儲存變更。
注意
EndpointManager 會提示您允許對於主機檔案的較高的權限。
您的開發電腦會連線至叢集。 狀態列會顯示您已連線至
database-api
服務。請嘗試輸入工作,並將其標示為完成。
選取 [偵錯]>[停止偵錯] 以停止偵錯。 此動作的快捷鍵是 Shift+F5,或使用工具列中的 [停止偵錯] 按鈕。
Bridge to Kubernetes 會重新導向 database-api 服務的所有流量。 它會重新導向至開發電腦上的應用程式版本。 Bridge to Kubernetes 也會將應用程式的所有輸出流量路由回 Kubernetes 叢集。
注意
根據預設,停止偵錯工作也會中斷開發電腦與 Kubernetes 叢集的連線。 若要變更此行為,請選取 [工具]>[選項],然後選取 [Kubernetes 偵錯工具]。 將 [偵錯後中斷連線] 設定為 [False]。
更新此設定之後,當您停止並開始偵錯時,您的開發電腦會保持連線。 若要中斷開發電腦與叢集的連線,請按一下工具列上的 [中斷連線] 按鈕。
設定中斷點
在本節中,您會在服務中設定中斷點。
在 [方案總管] 中,選取 MongoHelper.cs 以在編輯器中開啟檔案。 如果您沒有看到 [方案總管],請選取 [檢視]>[方案總管]。
在 CreateTask 方法主體的第一行上設定游標。 然後選取 [偵錯]>[切換中斷點] 來設定中斷點。
此動作的快捷鍵為 F9。
選取 [Bridge to Kubernetes] 旁的 [開始] 按鈕,如同您在上一節中所做的一樣。 偵錯會以您先前輸入的值開始。
在開啟的瀏覽器中,將值輸入 todos, 然後選取 Enter。 程式碼會到達您輸入的中斷點。 執行實際的偵錯工作時,您可以使用偵錯選項逐步執行程式碼。
選取 [偵錯]>[停止偵錯] 以停止偵錯。
若要移除中斷點,請選取該行,然後選取 [偵錯]>[切換中斷點] 或選取 F9。
編輯啟動設定檔
如果您需要變更 Bridge to Kubernetes 連線至叢集的方式,請在本節中編輯啟動設定檔設定。
按一下 [Bridge to Kubernetes] 按鈕旁 的箭號,然後按一下 [databaseApi 偵錯屬性]。
按一下 [啟動設定檔] 對話方塊中 [編輯 Bridge to Kubernetes 的設定檔] 連結。
清除資源
如果您使用本教學課程的範例 todo 應用程式,您可以使用 Azure 入口網站從叢集中移除它。 如果您在本機複製該存放庫,您可以手動刪除該存放庫。
下一步
若要深入了解 Bridge to Kubernetes,請參閱 Bridge to Kubernetes 的運作方式。
如需支援的功能和 Bridge to Kubernetes 藍圖的相關資訊,請參閱 Bridge to Kubernetes 藍圖。
若要了解如何使用 Visual Studio Code 將開發電腦連線至叢集,請參閱這篇文章: