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

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. Clonare il repository di esempio.

    git clone https://github.com/Azure/Bridge-To-Kubernetes
    
  3. Passare alla directory samples/todo-app e quindi creare uno spazio dei nomi per l'esempio.

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

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

  1. Aprire Visual Studio. Nella finestra Attività iniziali selezionare Continua senza codice.

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

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

    Screenshot shows debugging tools with Bridge to Kubernetes selected.

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

    Screenshot shows the Create profile for Bridge to Kubernetes dialog box with the values entered.

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

  6. Selezionare Salva ed esegui debug per salvare le modifiche.

    Screenshot shows the todo service displayed from your debugging, with an entry box for tasks.

    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.

    Screenshot shows the status bar that verifies that your development computer is connected.

  7. Provare a immettere le attività e contrassegnarle come complete.

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

Screenshot shows the Disconnect After Debugging value in the Kubernetes Debugging Tools.

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.

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

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

    Screenshot shows the CreateTask method with a breakpoint set in the first line.

    Un collegamento per questa azione è F9.

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

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

  5. Selezionare Debug>Arresta debug per arrestare il debug.

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

  1. Fare clic sulla freccia accanto al pulsante Bridge to Kubernetes e quindi fare clic su databaseProprietà debug api. Screenshot shows the Bridge to Kubernetes drop down menu.

  2. Fare clic sul collegamento Modifica profilo per Bridge to Kubernetes nella finestra di dialogo Avvia profili . Screenshot shows Launch Profiles dialog with a link to edit the Bridge to Kubernetes profile

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: