Tutorial: Lokales Ausführen und Debuggen mit Bridge to Kubernetes in Visual Studio

In diesem Tutorial erfahren Sie, wie Sie Datenverkehr zwischen Ihrem Kubernetes-Cluster und Ihrem Entwicklungscomputer umleiten. In diesem Tutorial werden Bridge to Kubernetes und Visual Studio zum Debuggen eines Diensts verwendet. Informationen zum Verwenden von Visual Studio Code finden Sie unter Lokales Ausführen und Debuggen mit Bridge to Kubernetes mit VS Code.

Weitere Informationen zu Bridge to Kubernetes finden Sie unter Funktionsweise von Bridge to Kubernetes.

In diesem Tutorial lernen Sie Folgendes:

  • Herstellen einer Verbindung mit Ihrem Cluster mit Bridge to Kubernetes.
  • Weiterleiten von Anforderungen an einen lokal ausgeführten Dienst zu Entwicklungszwecken.
  • Debuggen eines ausgeführten Diensts auf Ihrem lokalen Computer.

Voraussetzungen

Einrichten eines Diensts

Dieses Tutorial verwendet Bridge to Kubernetes, um mit einer einfachen todo-Beispielanwendung in einem beliebigen Kubernetes-Cluster zu arbeiten.

Die Beispielanwendung verfügt über ein Front-End für die Interaktion und ein Back-End, das persistenten Speicher bereitstellt.

  1. Öffnen Sie ein Bash-Fenster, und überprüfen Sie, ob Ihr Cluster verfügbar und bereit ist. Legen Sie dann den Kontext auf diesen Cluster fest.

    kubectl cluster-info
    kubectl config use-context <kubernetes-cluster>
    
  2. Klonen Sie das Beispielrepository.

    git clone https://github.com/Azure/Bridge-To-Kubernetes
    
  3. Navigieren Sie zum Verzeichnis samples/todo-app, und erstellen Sie dann einen Namespace für das Beispiel.

    kubectl create namespace todo-app
    
  4. Wenden Sie das Bereitstellungsmanifest an:

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

    Diese einfache Bereitstellung macht das Front-End mithilfe eines Diensts vom Typ LoadBalancer verfügbar. Warten Sie, bis alle Pods ausgeführt werden und die externe IP-Adresse des frontend-Diensts verfügbar wird.

    Wenn Sie mit MiniKube testen, verwenden Sie minikube tunnel, um eine externe IP-Adresse aufzulösen. Wenn Sie AKS oder einen anderen cloudbasierten Kubernetes-Anbieter verwenden, wird automatisch eine externe IP-Adresse zugewiesen.

  5. Verwenden Sie den folgenden Befehl, um den frontend-Dienst zu überwachen, um zu warten, bis er ausgeführt wird:

    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
    

Herstellen einer Clusterverbindung

  1. Öffnen Sie Visual Studio. Wählen Sie im Fenster Erste Schritte die Option Ohne Code fortfahren aus.

  2. Wählen Sie Öffnen>Project/Projektmappe aus, suchen Sie das Projekt samples\todo-app\database-api\databaseApi.csproj, und wählen Sie dann Öffnen aus.

  3. Wählen Sie im Projekt Bridge to Kubernetes in den Starteinstellungen wie hier gezeigt aus:

    Screenshot shows debugging tools with Bridge to Kubernetes selected.

  4. Wählen Sie die Startschaltfläche neben Bridge to Kubernetes aus. Geben Sie im Dialogfeld Profil für Bridge to Kubernetes erstellen die folgenden Werte ein:

    • Wählen Sie den Namen Ihres Clusters aus.
    • Wählen Sie todo-app als Ihren Namespace aus.
    • Wählen Sie database-api als umzuleitenden Dienst aus.
    • Wählen Sie dieselbe URL aus, die Sie zuvor zum Starten Ihres Browsers verwendet haben.

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

  5. Wenn die Ausführung isoliert erfolgen soll, wählen Sie Routingisolation aktivieren aus. Wenn Sie Routingisolation aktivieren, sind andere Benutzer, die den Cluster verwenden, von Ihren Änderungen nicht betroffen. Der Isolationsmodus leitet Ihre Anforderungen an Ihre Kopie jedes betroffenen Diensts weiter. Anderer Datenverkehrs wird normal weitergeleitet. Weitere Informationen hierzu finden Sie unter Funktionsweise von Bridge to Kubernetes.

  6. Wählen Sie Speichern und debuggen aus, um die Änderungen zu speichern.

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

    Hinweis

    EndpointManager fordert Sie auf, erhöhte Rechte für Ihre hosts-Datei zuzulassen.

    Ihr Entwicklungscomputer stellt eine Verbindung mit dem Cluster her. Die Statusleiste zeigt an, dass Sie mit dem database-api-Dienst verbunden sind.

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

  7. Versuchen Sie, Aufgaben einzugeben und als erledigt zu markieren.

  8. Wählen Sie Debuggen>Debuggen beenden aus, um das Debuggen zu beenden. Ein Tastaturkurzbefehl für diese Aktion ist UMSCHALT+F5, oder verwenden Sie die Schaltfläche Debuggen beenden auf der Symbolleiste.

Bridge to Kubernetes leitet den gesamten Datenverkehr für den database-api-Dienst um. Die Umleitung erfolgt an die Version Ihrer Anwendung auf Ihrem Entwicklungscomputer. Bridge to Kubernetes leitet zudem den gesamten ausgehenden Datenverkehr der Anwendung zurück an den Kubernetes-Cluster.

Hinweis

Wenn Sie den Debugtask anhalten, wird standardmäßig auch Ihr Entwicklungscomputer vom Kubernetes-Cluster getrennt. Um dieses Verhalten zu ändern, wählen Sie Tools>Optionen und dann Kubernetes-Debugtools aus. Legen Sie Nach Debuggen trennen auf FALSE fest.

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

Nach dem Aktualisieren dieser Einstellung bleibt ihr Entwicklungscomputer verbunden, wenn Sie das Debuggen beenden bzw. mit dem Debuggen beginnen. Um den Entwicklungscomputer vom Cluster zu trennen, klicken Sie auf der Symbolleiste auf die Schaltfläche Trennen.

Haltepunkt festlegen

In diesem Abschnitt legen Sie einen Breakpoint in Ihrem Dienst fest.

  1. Wählen Sie im Projektmappen-Explorer die Datei MongoHelper.cs aus, um sie im Editor zu öffnen. Wenn der Projektmappen-Explorer nicht angezeigt wird, wählen Sie Ansicht>Projektmappen-Explorer aus.

  2. Positionieren Sie den Cursor in der ersten Zeile des CreateTask-Methodentexts. Wählen Sie dann Debuggen>Breakpoint umschalten aus, um einen Breakpoint festzulegen.

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

    Ein Tastaturkurzbefehl für diese Aktion ist F9.

  3. Klicken Sie wie im vorherigen Abschnitt auf die Startschaltfläche neben Bridge to Kubernetes. Das Debuggen beginnt mit den Werten, die Sie zuvor eingegeben haben.

  4. Geben Sie im Browser,der geöffnet wird, einen Wert in todos ein, und drücken Sie die EINGABETASTE. Der Code erreicht den von Ihnen eingegebenen Breakpoint. Beim Ausführen von echten Debugaufgaben können Sie die Debugoptionen verwenden, um den Code schrittweise zu durchlaufen.

  5. Wählen Sie Debuggen>Debuggen beenden aus, um das Debuggen zu beenden.

  6. Um den B zu entfernen, wählen Sie diese Zeile und dann Debuggen>Breakpoint umschalten oder F9 aus.

Bearbeiten des Startprofils

Wenn Sie die Art und Weise ändern müssen, wie Bridge to Kubernetes eine Verbindung mit Ihrem Cluster herstellt, können Sie in diesem Abschnitt die Startprofileinstellungen bearbeiten.

  1. Klicken Sie auf den Pfeil neben der Schaltfläche Bridge to Kubernetes, und klicken Sie dann auf databaseApi-Debugeigenschaften. Screenshot shows the Bridge to Kubernetes drop down menu.

  2. Klicken Sie im Dialogfeld Profile starten auf den Link Profil für Bridge to Kubernetes bearbeiten. Screenshot shows Launch Profiles dialog with a link to edit the Bridge to Kubernetes profile

Bereinigen von Ressourcen

Wenn Sie die todo-Beispiel-App für dieses Tutorial verwendet haben, können Sie sie mithilfe des Azure-Portals aus Ihrem Cluster entfernen. Wenn Sie dieses Repository lokal geklont haben, können Sie es manuell löschen.

Nächste Schritte

Weitere Informationen zu Bridge to Kubernetes finden Sie unter Funktionsweise von Bridge to Kubernetes.

Informationen zu unterstützten Features und eine Roadmap für Bridge to Kubernetes finden Sie unter Bridge to Kubernetes-Roadmap.

Informationen zum Verbinden Ihres Entwicklungscomputers mit einem Cluster mithilfe von Visual Studio Code finden Sie in diesem Artikel: