Freigeben über


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

Anmerkung

Microsoft plant, die Brücke zum Kubernetes-Projekt nicht mehr aktiv aufrechtzuerhalten. In den nächsten Monaten werden wir das Projekt in einen Archivierungszustand umstellen. Das Projekt ist weiterhin zur Verwendung und für den Download verfügbar. In diesem Zeitraum hoffen wir, Communityprojekte zu erkunden und zu empfehlen, die ähnliche Vorteile wie Bridge to Kubernetes für Ihre zukünftige Nutzung bieten. Wenn Sie Fragen haben, wenden Sie sich bitte an unsere Issues Board bei GitHub.

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 Wie Bridge to Kubernetes funktioniert.

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 Frontend mithilfe eines Dienstes vom Typ LoadBalancerverfügbar. Warten Sie, bis alle Pods ausgeführt werden und bis die externe IP des frontend-Dienstes erreichbar 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 Weiter ohne Code.

  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 Fehlerbehebung aus, um Ihre Ä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 verweist auf die Version Ihrer App auf Ihrem Entwicklungscomputer. 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. Wenn Sie Ihren Entwicklungscomputer von Ihrem Cluster trennen möchten, klicken Sie auf die Schaltfläche Trennen auf der Symbolleiste.

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 zeigt das Dialogfeld

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

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

  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 in dem 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: