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

必要條件

設定服務

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

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

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

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

    git clone https://github.com/Azure/Bridge-To-Kubernetes
    
  3. 將目錄變更為 samples/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. 選取 [開啟]>[專案/方案],接著尋找 samples\todo-app\database-api\databaseApi.csproj 專案,然後選取 [開啟]

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

    Screenshot shows debugging tools with Bridge to Kubernetes selected.

  4. 選取 [Bridge to Kubernetes] 旁的 [開始] 按鈕。 在 [建立 Bridge to Kubernetes 設定檔] 對話方塊中,輸入下列值:

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

    Screenshot shows the Create profile for Bridge to Kubernetes dialog box with the values entered.

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

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

    Screenshot shows the todo service displayed from your debugging, with an entry box for tasks.

    注意

    EndpointManager 會提示您允許對於主機檔案的較高的權限。

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

    Screenshot shows the status bar that verifies that your development computer is connected.

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

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

Bridge to Kubernetes 會重新導向 database-api 服務的所有流量。 它會重新導向至開發電腦上的應用程式版本。 Bridge to Kubernetes 也會將應用程式的所有輸出流量路由回 Kubernetes 叢集。

注意

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

Screenshot shows the Disconnect After Debugging value in the Kubernetes Debugging Tools.

更新此設定之後,當您停止並開始偵錯時,您的開發電腦會保持連線。 若要中斷開發電腦與叢集的連線,請按一下工具列上的 [中斷連線] 按鈕。

設定中斷點

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

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

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

    Screenshot shows the CreateTask method with a breakpoint set in the first line.

    此動作的快捷鍵為 F9

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

  4. 在開啟的瀏覽器中,將值輸入 todos, 然後選取 Enter。 程式碼會到達您輸入的中斷點。 執行實際的偵錯工作時,您可以使用偵錯選項逐步執行程式碼。

  5. 選取 [偵錯]>[停止偵錯] 以停止偵錯。

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

編輯啟動設定檔

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

  1. 按一下 [Bridge to Kubernetes] 按鈕旁 的箭號,然後按一下 [databaseApi 偵錯屬性]Screenshot shows the Bridge to Kubernetes drop down menu.

  2. 按一下 [啟動設定檔] 對話方塊中 [編輯 Bridge to Kubernetes 的設定檔] 連結。 Screenshot shows Launch Profiles dialog with a link to edit the Bridge to Kubernetes profile

清除資源

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

下一步

若要深入了解 Bridge to Kubernetes,請參閱 Bridge to Kubernetes 的運作方式

如需支援的功能和 Bridge to Kubernetes 藍圖的相關資訊,請參閱 Bridge to Kubernetes 藍圖

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