Freigeben über


Lernprogramm: Lokal ausführen und debuggen mit Bridge to Kubernetes in Visual Studio

Anmerkung

Die "Bridge to Kubernetes" wird am 30. April 2025 eingestellt. Ausführliche Informationen zur Außerbetriebnahme und den Open-Source-Alternativen finden Sie im GitHub-Problem.

In diesem Lernprogramm erfahren Sie, wie Sie den Datenverkehr zwischen Ihrem Kubernetes-Cluster und Ihrem Entwicklungscomputer umleiten. In diesem Lernprogramm wird Bridge to Kubernetes und Visual Studio zum Debuggen eines Diensts verwendet. Informationen zur Verwendung von Visual Studio Code finden Sie unter Lokal ausführen und debuggen mit Bridge to Kubernetes mit VS Code.

Weitere Informationen zu Bridge to Kubernetes finden Sie unter So funktioniert Bridge to Kubernetes.

In diesem Lernprogramm erfahren Sie, wie Sie:

  • Stellen Sie eine Verbindung mit Ihrem Cluster mit Bridge zu Kubernetes her.
  • Weiterleiten von Anforderungen an einen lokal ausgeführten Dienst zu Entwicklungszwecken
  • Debuggen Sie einen ausgeführten Dienst auf Ihrem lokalen Computer.

Voraussetzungen

Einrichten eines Diensts

In diesem Lernprogramm wird Bridge to Kubernetes verwendet, um mit einer einfachen Todo-Beispielanwendung auf einem beliebigen Kubernetes-Cluster zu arbeiten.

Die Beispielanwendung verfügt über ein Frontend für die Interaktion und ein Back-End, das beständigen 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 Beispiel-Repository.

    git clone https://github.com/hsubramanianaks/b2k-samples
    
  3. Ändern Sie das Verzeichnis in todo-app-, und erstellen Sie dann einen Namespace für das Beispiel.

    kubectl create namespace todo-app
    
  4. Anwenden des Bereitstellungsmanifests:

    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 des frontend-Dienstes verfügbar ist.

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

  5. Verwenden Sie den folgenden Befehl, um den frontend Dienst zu überwachen, 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 Verbindung mit Ihrem Cluster

  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 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 Folgendes aus:

    Screenshot zeigt Debugtools mit ausgewählter Brücke zu Kubernetes.

  4. Wählen Sie die Startschaltfläche neben Brücke zu Kubernetesaus. Geben Sie im Dialogfeld Erstellen eines Profils für Bridge to Kubernetes die folgenden Werte ein:

    • Wählen Sie Ihren Clusternamen 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 zeigt das Dialogfeld

  5. Wenn die Ausführung isoliert erfolgen soll, wählen Sie Routingisolation aktivieren aus. Wenn Sie die 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. Es leitet anderen Verkehr normal weiter. Weitere Informationen finden Sie unter How Bridge to Kubernetes Works.

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

    Screenshot: todo-Dienst, der beim Debuggen angezeigt wird, mit einem Eingabefeld für Tasks

    Anmerkung

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

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

    Screenshot zeigt die Statusleiste, die überprüft, ob Ihr Entwicklungscomputer verbunden ist.

  7. Versuchen Sie, Aufgaben einzugeben und sie 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. Sie leitet auf die Version Ihrer Anwendung auf Ihrem Entwicklungscomputer weiter. Brücke zu Kubernetes leitet auch den gesamten ausgehenden Datenverkehr von der Anwendung zurück zu Ihrem Kubernetes-Cluster.

Anmerkung

Standardmäßig trennt das Beenden der Debugaufgabe den Entwicklungscomputer auch von Ihrem Kubernetes-Cluster. Um dieses Verhalten zu ändern, wählen Sie Tools>Optionenaus, und wählen Sie dann Kubernetes-Debugtoolsaus. Legen Sie Nach Debuggen trennen auf FALSE fest.

Screenshot des Werts „Nach Debuggen trennen“ in den Kubernetes-Debugtools

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

Festlegen eines Haltepunkts

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

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

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

    Screenshot der CreateTask-Methode mit einem Breakpoint, der in der ersten Zeile festgelegt ist

    Eine Tastenkombination für diese Aktion ist F9.

  3. Wählen Sie die Startschaltfläche neben Brücke zu Kubernetesaus, wie sie im vorherigen Abschnitt getan haben. 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. Während Sie echte Debuggingaufgaben ausführen, können Sie die Debugoptionen verwenden, um den Code zu durchlaufen.

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

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

Startprofil bearbeiten

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

  1. Klicken Sie in der Visual Studio-Befehlsleiste auf den Pfeil neben der Startschaltfläche (grünes Dreieck oder Wiedergabesymbol), um das Dropdown zu öffnen, und klicken Sie dann auf databaseApi Debug Properties. Screenshot zeigt das Dropdownmenü

  2. Klicken Sie im Dialogfeld Startprofile auf den Link Bearbeiten des Profils für Bridge to Kubernetes. Screenshot: Dialogfeld „Profile starten“ mit einem Link zum Bearbeiten des Bridge to Kubernetes-Profils

Eine weitere Möglichkeit, um zu diesem Bildschirm zu gelangen:

  1. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf den Projektknoten, und wählen Sie dann Eigenschaften aus (oder drücken Sie Alt+EINGABETASTE).

  2. Scrollen Sie nach unten zu Debuggen, und wählen Sie Öffnen der Benutzeroberfläche von Debugstartprofilen aus.

Bereinigen von Ressourcen

Wenn Sie die Beispiel-Todo-App für dieses Lernprogramm 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

Erfahren Sie mehr über Bridge to Kubernetes im Abschnitt Wie Bridge to Kubernetes funktioniert.

Informationen zum Herstellen einer Verbindung ihres Entwicklungscomputers mit einem Cluster mithilfe von Visual Studio Code finden Sie in diesem Artikel: