Condividi tramite


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

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.

  1. 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>
    
  2. Clona il repository di esempio.

    git clone https://github.com/hsubramanianaks/b2k-samples
    
  3. Modificare la directory in todo-app e quindi creare un namespace per l'esempio.

    kubectl create namespace todo-app
    
  4. 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 servizio frontend 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.

  5. 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

  1. Apri Visual Studio. Nella finestra Inizia, selezionare Continua senza codice.

  2. Selezionare Apri>progetto/soluzione, quindi trovare il progetto todo-app\database-api\databaseApi.csproj e selezionare Apri.

  3. Nel progetto selezionare Bridge to Kubernetes dalle impostazioni di avvio, come illustrato di seguito:

    Screenshot mostra gli strumenti di debug con Bridge to Kubernetes selezionato.

  4. 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.

    Screenshot mostra la finestra di dialogo Crea profilo per Bridge to Kubernetes con i valori immessi.

  5. 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.

  6. Selezionare Salvare ed eseguire il debug per salvare le modifiche.

    Screenshot mostra il servizio todo visualizzato dal debug, con una casella di immissione per le attività.

    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.

    Screenshot mostra la barra di stato che verifica che il computer di sviluppo sia connesso.

  7. Prova a inserire le attività e a contrassegnarle come complete.

  8. 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.

La schermata mostra il valore

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.

  1. In Esplora soluzioni, selezionare MongoHelper.cs per aprire il file nell'editor. Se "Esplora Soluzioni" non è visualizzato, selezionare Visualizza>Esplora Soluzioni.

  2. Imposta il cursore sulla prima riga del corpo del metodo CreateTask. Selezionare quindi Debug>Attivare/Disattivare breakpoint per impostare un punto di interruzione.

    Screenshot mostra il metodo CreateTask con un punto di interruzione impostato nella prima riga.

    Una scorciatoia per questa azione è F9.

  3. Selezionare il pulsante Start accanto a Bridge to Kubernetes, come è stato fatto nella sezione precedente. Il debug inizia con i valori immessi in precedenza.

  4. 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.

  5. Selezionare Arresta Debug> per arrestare il debug.

  6. 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.

  1. 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. Screenshot mostra il menu a discesa Bridge to Kubernetes.

  2. Fare clic sul collegamento Modifica profilo per Bridge to Kubernetes nella finestra di dialogo Launch Profiles. screenshot mostra la finestra di dialogo Launch Profiles con un collegamento per modificare il profilo Bridge to Kubernetes

Un altro modo per accedere a questa schermata:

  1. Fare clic con il tasto destro sul nodo del progetto in Esplora soluzioni e scegliere Proprietà oppure premere Alt+Invio.

  2. 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: