Esercitazione: Eseguire ed eseguire il debug in locale con Bridge to Kubernetes in Visual Studio
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 usare Visual Studio Code, vedere Eseguire ed eseguire il debug in locale con Bridge to Kubernetes con VS Code.
Per altre informazioni su Bridge to Kubernetes, vedere Come funziona Bridge to Kubernetes.
In questa esercitazione apprenderai a:
- Connessione al cluster con Bridge to Kubernetes.
- Instradare le richieste a un servizio in esecuzione in locale a scopo di sviluppo.
- 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 gratuito.
- L'eseguibile kubectl installato nel sistema.
- Visual Studio 2019 versione 16.7 o successiva in esecuzione in Windows 10 o versione successiva o Visual Studio 2022.
- Estensione Bridge to Kubernetes per Visual Studio 2019 o Bridge to Kubernetes per Visual Studio 2022.
- Un'applicazione per la risoluzione dei problemi, ad esempio questa applicazione di esempio TODO App.
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>
Clonare il repository di esempio.
git clone https://github.com/Azure/Bridge-To-Kubernetes
Passare alla directory samples/todo-app e quindi creare uno spazio dei nomi per l'esempio.
kubectl create namespace todo-app
Applicare il manifesto della distribuzione:
kubectl apply -n todo-app -f deployment.yaml
Questa distribuzione semplice espone il front-end usando un servizio di tipo
LoadBalancer
. Attendere che tutti i pod siano in esecuzione e che l'indirizzo IP esterno delfrontend
servizio 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
frontend
servizio per attendere fino a quando non è operativo: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
Aprire Visual Studio. Nella finestra Attività iniziali selezionare Continua senza codice.
Selezionare Apri>progetto/soluzione, quindi trovare gli esempi\todo-app\database-api\databaseApi.csproj progetto 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( 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 lo spazio dei nomi.
- Selezionare database-api per il servizio da reindirizzare.
- Selezionare lo stesso URL usato in precedenza per avviare il browser.
Se si vuole eseguire isolato, selezionare Abilita isolamento 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 richieste alla copia di ogni servizio interessato. Instrada il traffico in genere. Per altre informazioni, vedere Funzionamento di Bridge to Kubernetes.
Selezionare Salva ed esegui debug per salvare le modifiche.
Nota
EndpointManager richiede di consentire privilegi elevati al file hosts .
Il computer di sviluppo si connette al cluster. La barra di stato indica che si è connessi al
database-api
servizio.Provare a immettere le attività e contrassegnarle come complete.
Selezionare Debug>Arresta debug per arrestare il debug. Un collegamento per questa azione è Maiusc+F5 o usare il pulsante Arresta debug sulla barra degli strumenti.
Bridge a Kubernetes reindirizza tutto il traffico per il servizio database-api . Reindirizza alla versione dell'applicazione nel 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 Opzioni strumenti>, quindi selezionare Strumenti di debug di 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 cluster, fare clic sul pulsante Disconnetti sulla barra degli strumenti.
Imposta 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 non viene visualizzato Esplora soluzioni, selezionare Visualizza> Esplora soluzioni.
Impostare il cursore sulla prima riga del corpo del metodo CreateTask . Selezionare quindi Debug>Attiva/Disattiva punto di interruzione per impostare un punto di interruzione.
Un collegamento per questa azione è F9.
Selezionare il pulsante start accanto a Bridge to Kubernetes, come nella sezione precedente. Il debug inizia con i valori immessi in precedenza.
Nel browser che si apre immettere un valore nei todos e selezionare INVIO. 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 Debug>Arresta debug per arrestare il debug.
Per rimuovere il punto di interruzione, selezionare tale riga e quindi selezionare Attiva>/Disattiva punto di interruzione o 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.
Fare clic sulla freccia accanto al pulsante Bridge to Kubernetes e quindi fare clic su databaseProprietà debug api.
Fare clic sul collegamento Modifica profilo per Bridge to Kubernetes nella finestra di dialogo Avvia profili .
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 sul funzionamento di Bridge to Kubernetes sono disponibili in How Bridge to Kubernetes (Come funziona Bridge to Kubernetes).
Per informazioni sulle funzionalità supportate e una roadmap per Bridge to Kubernetes, vedere Roadmap di Bridge to Kubernetes.
Per informazioni su come connettere il computer di sviluppo a un cluster usando Visual Studio Code, vedere questo articolo: