Esercitazione: Eseguire e fare il debug localmente con Bridge to Kubernetes in Visual Studio
Nota
Bridge to Kubernetes verrà ritirato il 30 aprile 2025. Per informazioni dettagliate sul ritiro e sulle alternative open source, vedere il problema di GitHub .
In questa esercitazione si apprenderà come reindirizzare il traffico tra il cluster Kubernetes e il computer di sviluppo. Questa esercitazione usa Bridge per Kubernetes e Visual Studio per il debug di un servizio. Per utilizzare Visual Studio Code, consulta Esegui e fai il debug localmente con Bridge to Kubernetes utilizzando VS Code.
Per altre informazioni su Bridge to Kubernetes, vedere Funzionamento di Bridge to Kubernetes.
In questa esercitazione si apprenderà come:
- Connetti al cluster con Bridge to Kubernetes.
- Instradare le richieste per scopi di sviluppo a un servizio in esecuzione in locale.
- Eseguire il debug di un servizio in esecuzione nel computer locale.
Prerequisiti
- Un cluster Kubernetes. È possibile crearne uno nel portale di Azure . Se non si ha una sottoscrizione di Azure, è possibile creare un account gratuitamente.
- Il file eseguibile kubectl è installato sul tuo sistema.
- Visual Studio 2019 versione 16.7 o successiva in esecuzione in Windows 10 o versioni successive o Visual Studio 2022.
- L'estensione Bridge to Kubernetes per Visual Studio 2019 o l'estensione Bridge to Kubernetes per Visual Studio 2022.
Configurare un servizio
Questa esercitazione usa Bridge to Kubernetes per usare una semplice applicazione di esempio todo in qualsiasi cluster Kubernetes.
L'applicazione di esempio ha un front-end per interagire e un back-end che fornisce l'archiviazione permanente.
Aprire una finestra Bash e verificare che il cluster sia disponibile e pronto. Impostare quindi il contesto su tale cluster.
kubectl cluster-info kubectl config use-context <kubernetes-cluster>
Clona il repository di esempio.
git clone https://github.com/hsubramanianaks/b2k-samples
Modificare la directory in todo-app e quindi creare un namespace per l'esempio.
kubectl create namespace todo-app
Applicare il manifest di distribuzione:
kubectl apply -n todo-app -f deployment.yaml
Questa semplice distribuzione espone il front-end usando un servizio di tipo
LoadBalancer
. Attendere che tutti i pod siano in esecuzione e che l'indirizzo IP esterno del serviziofrontend
diventi disponibile.Se si esegue il test con MiniKube, usare
minikube tunnel
per risolvere un indirizzo IP esterno. Se si usa il servizio Azure Kubernetes o un altro provider Kubernetes basato sul cloud, viene assegnato automaticamente un indirizzo IP esterno.Usare il comando seguente per monitorare il servizio
frontend
fino a quando non è attivo.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
Connettersi al cluster
Apri Visual Studio. Nella finestra Inizia, selezionare Continua senza codice.
Selezionare Apri>progetto/soluzione, quindi trovare il progetto todo-app\database-api\databaseApi.csproj e selezionare Apri.
Nel progetto selezionare Bridge to Kubernetes dalle impostazioni di avvio, come illustrato di seguito:
Selezionare il pulsante Start accanto a Bridge to Kubernetes. Nella finestra di dialogo Crea profilo per Bridge to Kubernetes immettere i valori seguenti:
- Selezionare il nome del cluster.
- Selezionare todo-app per il tuo spazio dei nomi.
- Selezionare API del database per il servizio da reindirizzare al.
- Selezionare lo stesso URL usato in precedenza per avviare il browser.
Se si vuole eseguire in modalità isolata, selezionare Abilita l'isolamento del routing. Se si abilita l'isolamento del routing, gli altri che usano il cluster non sono interessati dalle modifiche apportate. La modalità di isolamento indirizza le tue richieste alla tua copia di ciascun servizio interessato. Instrada il traffico in genere. Per altre informazioni, vedere How Bridge to Kubernetes Works.
Selezionare Salvare ed eseguire il debug per salvare le modifiche.
Nota
EndpointManager richiede di consentire privilegi elevati per il file hosts .
Il computer di sviluppo si connette al cluster. La barra di stato mostra che si è connessi al servizio
database-api
.Prova a inserire le attività e a contrassegnarle come complete.
Selezionare Arresta Debug> per arrestare il debug. Una scorciatoia per questa azione è Maiusc+F5 oppure usare il pulsante Interrompi debug sulla barra degli strumenti.
Bridge to Kubernetes reindirizza tutto il traffico per il servizio api di database. Reindirizza alla versione dell'applicazione sul computer di sviluppo. Bridge a Kubernetes instrada anche tutto il traffico in uscita dall'applicazione al cluster Kubernetes.
Nota
Per impostazione predefinita, l'arresto dell'attività di debug disconnette anche il computer di sviluppo dal cluster Kubernetes. Per modificare questo comportamento, selezionare Strumenti>Opzioni, quindi selezionare Strumenti di Debug Kubernetes. Impostare Disconnetti dopo il debug su False.
Dopo l'aggiornamento di questa impostazione, il computer di sviluppo rimane connesso quando si arresta e si avvia il debug. Per disconnettere il computer di sviluppo dal tuo cluster, fai clic sul pulsante Disconnetti nella barra degli strumenti.
Impostare un punto di interruzione
In questa sezione viene impostato un punto di interruzione nel servizio.
In Esplora soluzioni, selezionare MongoHelper.cs per aprire il file nell'editor. Se "Esplora Soluzioni" non è visualizzato, selezionare Visualizza>Esplora Soluzioni.
Imposta il cursore sulla prima riga del corpo del metodo CreateTask. Selezionare quindi Debug>Attivare/Disattivare breakpoint per impostare un punto di interruzione.
Una scorciatoia per questa azione è F9.
Selezionare il pulsante Start accanto a Bridge to Kubernetes, come è stato fatto nella sezione precedente. Il debug inizia con i valori immessi in precedenza.
Nel browser visualizzato immettere un valore nel todos e selezionare Immettere. Il codice raggiunge il punto di interruzione immesso. Durante l'esecuzione di attività di debug reali, è possibile usare le opzioni di debug per scorrere il codice.
Selezionare Arresta Debug> per arrestare il debug.
Per rimuovere il punto di interruzione, selezionare tale riga e quindi selezionare Debug>Attiva/Disattiva punto di interruzione oppure selezionare F9.
Modificare il profilo di avvio
Se è necessario modificare la modalità di connessione da Bridge a Kubernetes al cluster, in questa sezione verranno modificate le impostazioni del profilo di avvio.
Nella barra dei comandi di Visual Studio, fare clic sulla freccia accanto al pulsante Start (triangolo verde o icona di riproduzione) per aprire l'elenco a discesa, quindi fare clic su Proprietà di debug di databaseApi.
Fare clic sul collegamento Modifica profilo per Bridge to Kubernetes nella finestra di dialogo Launch Profiles.
Un altro modo per accedere a questa schermata:
Fare clic con il tasto destro sul nodo del progetto in Esplora soluzioni e scegliere Proprietà oppure premere Alt+Invio.
Scorrere verso il basso fino a Debuge scegliere Apri l'interfaccia dei profili di avvio debug.
Pulire le risorse
Se per questa esercitazione è stata usata l'app todo di esempio, è possibile rimuoverla dal cluster usando il portale di Azure. Se il repository è stato clonato in locale, è possibile eliminarlo manualmente.
Passaggi successivi
Altre informazioni su Bridge to Kubernetes sono disponibili in Funzionamento di Bridge to Kubernetes.
Per informazioni su come connettere il computer di sviluppo a un cluster usando Visual Studio Code, vedere questo articolo: