共用方式為


教學課程:在本機使用 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 連線到您的叢集。
  • 針對開發目的,將路由請求傳送至在本地運行的服務。
  • 在本機電腦上除錯正在執行的服務。

先決條件

設定服務

本教學課程使用 Bridge to Kubernetes,在任何 Kubernetes 叢集上使用簡單的 Todo 範例應用程式。

範例應用程式具有前端來互動,以及提供永續性記憶體的後端。

  1. 開啟 Bash 視窗,並檢查您的叢集是否可用且已就緒。 然後將情境設定為該叢集。

    kubectl cluster-info
    kubectl config use-context <kubernetes-cluster>
    
  2. 複製範例存放庫。

    git clone https://github.com/hsubramanianaks/b2k-samples
    
  3. 將目錄變更為 todo-app,然後建立範例的命名空間。

    kubectl create namespace todo-app
    
  4. 套用部署指令清單:

    kubectl apply -n todo-app -f deployment.yaml
    

    這個簡單的部署會使用 類型為 LoadBalancer的服務來公開前端。 等待所有 Pod 完全啟動,並等待 frontend 服務的外部 IP 可供使用。

    如果您要使用 MiniKube 進行測試,請使用 minikube tunnel 解析外部 IP。 如果您使用 AKS 或其他雲端式 Kubernetes 提供者,則會自動指派外部 IP。

  5. 使用下列命令來監視 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
    

連接到您的叢集

  1. 開啟 Visual Studio。 在 [開始使用] 視窗中,選取 [繼續而不使用程式碼]。

  2. 選取 [[開啟>專案/方案],然後尋找 todo-app\database-api\databaseApi.csproj 專案,然後選取 [[開啟]。

  3. 在專案中,從啟動設定中選取 [Bridge to Kubernetes,如下所示:

    螢幕快照顯示已選取 Bridge to Kubernetes 的偵錯工具。

  4. 選取 [網橋至 Kubernetes旁的 [開始] 按鈕。 在 [建立 Bridge to Kubernetes 配置檔] 對話框中,輸入下列值:

    • 選取您的叢集名稱。
    • 請為您的命名空間選擇「todo-app」。
    • 選取 database-api 以便 服務 重新導向。
    • 選取您先前用來啟動瀏覽器的相同 URL。

    螢幕快照顯示 [為 Bridge to Kubernetes 建立設定檔] 對話框,其中包含輸入的值。

  5. 如果您要執行隔離,請選擇 [啟用路由隔離。 如果您啟用路由隔離,則使用叢集的其他人不會受到變更的影響。 隔離模式會將您的請求路由傳送至您持有的每個受影響服務的副本。 其通常會路由傳送其他流量。 如需詳細資訊,請參閱 Bridge to Kubernetes 的運作方式

  6. 選取 [儲存並偵錯 以儲存變更。

    螢幕快照顯示來自您的調試的待辦事項服務,其中包含任務輸入框。

    注意

    EndpointManager 會提示您允許對 主機的 檔案進行更高權限的修改。

    您的開發電腦會連線到叢集。 狀態列會顯示您已連線到 database-api 服務。

    螢幕快照顯示狀態列,確認您的開發計算機是否已連線。

  7. 請嘗試輸入工作,並將其標示為完成。

  8. 選取 偵錯>停止偵錯 停止偵錯。 此動作的快捷方式 Shift+F5,或使用工具列中的 [停止偵錯] 按鈕。

橋接至 Kubernetes 會將 資料庫 api 服務的所有流量重新導向。 它會重新導向至您在開發電腦上的應用程式版本。 網橋至 Kubernetes 也會將應用程式的所有輸出流量路由回 Kubernetes 叢集。

注意

根據預設,停止偵錯工作也會中斷開發計算機與 Kubernetes 叢集的連線。 若要變更此行為,請選取 [[工具]>[選項],然後選取 [Kubernetes 偵錯工具]。 將偵錯後 中斷連線 設定為 False

螢幕快照顯示 Kubernetes 偵錯工具中的 [偵錯后中斷連線] 值。

更新此設定之後,您的開發電腦在停止與重新啟動偵錯時會保持連線。 若要中斷開發計算機與叢集的連線,請按下工具列上的 [[中斷連線] 按鈕。

設定斷點

在本節中,您會在服務中設定斷點。

  1. [方案總管]中,選取 [MongoHelper.cs] 以在編輯器中開啟檔案。 如果您沒有看到 [方案總管],請選取 [檢視]>[方案總管]

  2. 在 createTask 方法主體的第一行上設定游標。 然後選取 [除錯]>[切換斷點] 來設定斷點。

    螢幕快照顯示 CreateTask 方法,並在第一行設定斷點。

    此動作的快捷方式 F9

  3. 選取 Bridge to Kubernetes旁的 [開始] 按鈕,如同您在上一節中所做的一樣。 偵錯會以您先前輸入的值開始。

  4. 在開啟的瀏覽器中,在 todos 中輸入值,然後選取 [Enter]。 程式碼到達了您設置的斷點。 當您在執行實際偵錯任務時,可以使用偵錯選項逐步檢查程式碼。

  5. 選取 偵錯>停止偵錯 停止偵錯。

  6. 若要移除斷點,請選取該行,然後選取 [偵錯]>[切換斷點],或選取 [F9]。

編輯啟動配置檔

如果您需要變更 Bridge to Kubernetes 連線到叢集的方式,請在本節中編輯啟動配置檔設定。

  1. 在 Visual Studio 命令行中,按兩下 [開始] 按鈕旁的箭號(綠色三角形或[播放] 圖示),以開啟下拉式清單,然後按兩下 [databaseApi 偵錯屬性]螢幕快照顯示 [Kubernetes 網橋] 的下拉選單。

  2. 在 [啟動配置檔] 對話框中,點擊 [編輯配置檔以橋接至 Kubernetes] 連結。 螢幕快照顯示 [啟動配置檔] 對話框,其中包含編輯 Bridge to Kubernetes 配置檔的連結

另一種進入這個畫面的方法:

  1. 以滑鼠右鍵按兩下 [方案總管] 中的項目節點,然後選擇 [屬性] (或按 Alt+Enter]。

  2. 向下捲動至 [偵錯],然後選擇 [開啟偵錯啟動配置 UI]。

清除資源

如果您使用本教學課程的範例 todo 應用程式,您可以使用 Azure 入口網站從叢集中移除它。 如果您在本機複製該存放庫,您可以手動刪除該存放庫。

後續步驟

若要深入瞭解 Bridge to Kubernetes,請參閱 Bridge to Kubernetes 的運作原理

若要瞭解如何使用 Visual Studio Code 將開發電腦連線到叢集,請參閱這篇文章: