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
- Ein Kubernetes-Cluster. Sie können einen Cluster im Azure-Portal erstellen. Falls Sie nicht über ein Azure-Abonnement verfügen, können Sie ein kostenloses Konto erstellen.
- Auf dem System installierte ausführbare kubectl-Datei.
- Visual Studio 2019, Version 16.7 oder höher unter Windows 10 oder höher oder Visual Studio 2022.
- Die Bridge to Kubernetes-Erweiterung für Visual Studio 2019 oder Bridge to Kubernetes-Erweiterung für Visual Studio2022.
- Eine Anwendung für die Problembehandlung, z. B. diese TODO-App-Beispielanwendung.
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.
Ö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>
Klonen Sie das Beispielrepository.
git clone https://github.com/Azure/Bridge-To-Kubernetes
Navigieren Sie zum Verzeichnis samples/todo-app, und erstellen Sie dann einen Namespace für das Beispiel.
kubectl create namespace todo-app
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 desfrontend
-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.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
Öffnen Sie Visual Studio. Wählen Sie im Fenster Erste Schritte die Option Ohne Code fortfahren aus.
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.
Wählen Sie im Projekt Bridge to Kubernetes in den Starteinstellungen wie hier gezeigt aus:
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.
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.
Wählen Sie Speichern und debuggen aus, um die Änderungen zu speichern.
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.Versuchen Sie, Aufgaben einzugeben und als erledigt zu markieren.
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.
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.
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.
Positionieren Sie den Cursor in der ersten Zeile des CreateTask-Methodentexts. Wählen Sie dann Debuggen>Breakpoint umschalten aus, um einen Breakpoint festzulegen.
Ein Tastaturkurzbefehl für diese Aktion ist F9.
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.
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.
Wählen Sie Debuggen>Debuggen beenden aus, um das Debuggen zu beenden.
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.
Klicken Sie auf den Pfeil neben der Schaltfläche Bridge to Kubernetes, und klicken Sie dann auf databaseApi-Debugeigenschaften.
Klicken Sie im Dialogfeld Profile starten auf den Link Profil für Bridge to Kubernetes bearbeiten.
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: