Condividi tramite


Usare Bridge per Kubernetes con il servizio Azure Kubernetes

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 questo tutorial, utilizzi un'app Web di microservizi specifica per AKS per imparare a usare Bridge to Kubernetes per eseguire il debug localmente in un singolo pod che fa parte di un cluster di Azure Kubernetes Service (AKS).

Prima di iniziare

Questa guida utilizza l'applicazione di esempio Todo App per illustrare la connessione del computer di sviluppo a un cluster Kubernetes in esecuzione nel servizio Azure Kubernetes (AKS). Se è già in esecuzione un'applicazione personalizzata in un cluster Kubernetes, vedere Sviluppare con Kubernetes. Se si usa un altro cluster, ad esempio MiniKube in esecuzione in locale, vedere Usare Bridge to Kubernetes con un esempio.

Prerequisiti

Creare un cluster Kubernetes

Creare un cluster AKS in una regione supportata . I comandi seguenti creano un gruppo di risorse denominato MyResourceGroup e un cluster del servizio Azure Kubernetes denominato MyAKS.

az group create \
    --name MyResourceGroup \
        --location eastus
az aks create \
    --resource-group MyResourceGroup \
    --name MyAKS \
    --location eastus \
    --node-count 3 \
    --generate-ssh-keys

Installare l'applicazione di esempio

Scaricare il codice e installare le dipendenze

git clone https://github.com/hsubramanianaks/b2k-samples
cd b2k-samples/todo-app
npm install stats-api\

Connettersi al cluster e distribuire l'app

Nel tuo computer di sviluppo, scarica e configura il Kubernetes CLI per connetterti al tuo cluster Kubernetes usando az aks get-credentials.

az aks get-credentials --resource-group MyResourceGroup --name MyAKS
kubectl create namespace todo-app
kubectl config set-context --current --namespace=todo-app
kubectl apply -f deployment.yaml --namespace todo-app

Provare l'app

Nello stesso terminale in uso in precedenza eseguire il comando seguente e copiare l'INDIRIZZO IP per il servizio front-end nella colonna IP esterno.

kubectl get services

Per provare l'app, aprire l'URL: {your external IP from above command goes here}.nip.io

Eseguire il debug del servizio stats-api

Nello stesso terminale usato in precedenza, digitare il comando seguente per aprire stats-api in VS Code.

code ./stats-api

Prima di tutto, posizionare un punto di interruzione nella riga 17 di server.js.

Assicurarsi quindi che lo spazio dei nomi todo-app nel cluster MyAKS sia impostato come predefinito (se ha * accanto a esso). Se non è impostato come predefinito, fare clic con il pulsante destro del mouse sul nodo todo-app e scegliere Usa Namespace.

Screenshot che mostra il namespace Bridge to Kubernetes.

Configurare quindi Bridge: aprire la Palette dei comandi (CTRL+MAIUSC+P o Cmd+MAIUSC+P su un Mac) e digitare Bridge to Kubernetes. Selezionare l'opzione Bridge to Kubernetes: Configure.

Screenshot che mostra la finestra di comando Bridge to Kubernetes Configure (Configura da bridge a Kubernetes).

Viene richiesto di configurare il servizio da sostituire, la porta da inoltrare dal computer di sviluppo e l'attività di avvio da usare.

Scegliere il servizio stats-api.

Screenshot che mostra la selezione del servizio a cui connettersi.

Importante

È possibile reindirizzare solo i servizi con un singolo pod.

Dopo aver selezionato il servizio, viene richiesto di immettere la porta TCP per l'applicazione locale. Per questo esempio, immettere 3001.

Screenshot che mostra la finestra per l'inserimento del numero di porta.

Scegliere Esegui script: sviluppa come attività di avvio.

Screenshot che mostra la finestra di selezione dell'attività di avvio del debugger.

Hai la possibilità di eseguire in maniera isolata o non isolata. Se esegui in isolamento, solo le tue richieste vengono instradate al tuo processo locale; altri sviluppatori possono usare il cluster senza subire conseguenze. Se non si esegue in modalità isolata, tutto il traffico viene reindirizzato al tuo processo locale. Per altre informazioni su questa opzione, vedere Uso delle funzionalità di routing per lo sviluppo in isolamento. Per questo esempio, procediamo con il non isolato. Se si sceglie l'isolamento, task.json ha il prefisso da usare per instradare la richiesta al computer.

Screenshot che mostra la finestra dell'opzione scegli isolamento.

Nota

Ai lanci successivi, sarà sufficiente fare clic sull'icona di debug senza passare attraverso questa configurazione e senza richiedere il nome del servizio, la porta, l'attività di avvio o se eseguire in modo isolato. Questi valori vengono salvati in .vscode/tasks.json. Per modificare queste impostazioni in un secondo momento, aprire il riquadro comandi (CTRL+MAIUSC+P o Cmd+Shift+P in un Mac) ed eseguire il comando Bridge to Kubernetes: Configure.

Il profilo di debug da Bridge a Kubernetes è stato configurato correttamente.

Per avviare il debug, selezionare l'icona Debug a sinistra e selezionare Esegui script: sviluppo con Kubernetes. Fare clic sul pulsante Start accanto a Esegui script: sviluppo con Kubernetes.

Screenshot che mostra la finestra per scegliere il profilo di avvio del debug.

Nota

Verrà richiesto di consentire a EndpointManager di eseguire con privilegi elevati e modificare il file hosts.

Il computer di sviluppo è connesso quando la barra di stato di VS Code diventa arancione e l'estensione Kubernetes mostra che si è connessi. Dopo aver connesso il computer di sviluppo, il traffico inizia a essere reindirizzato al computer di sviluppo per l'API delle statistiche che stai sostituendo.

Screenshot che mostra la finestra di scegliere il debug con Bridge to Kubernetes.

Accedere al punto di ingresso front-end dell'applicazione tramite l'indirizzo IP esterno trovato in precedenza, {your external IP from get services command}.nip.io. Si noti che se è stata selezionata la modalità di isolamento, è necessario usare {your prefix - can be found in task.json}.{your external IP from get services command}.nip.io.

Effettuare una richiesta all'API delle statistiche scegliendo il collegamento statistiche.

Screenshot che mostra la scelta del sito Web in esecuzione: scegliere il collegamento di stato.

Si noti che il traffico avviato inizialmente nel cluster è stato reindirizzato alla versione in esecuzione locale (all'esterno del cluster) in cui è stato attivato il punto di interruzione.

Premere play e lasciare che la richiesta continui a essere completata in modo trasparente.

Pulizia

Quando si arresta il debugger, tutte le modifiche apportate al cluster vengono ripristinate. Si noti che, se stai eseguendo con l'isolamento attivo, il pod del gestore del routing verrà lasciato lì per facilitare l'avvio del debugger la volta successiva.

È possibile lasciare attivo il cluster del servizio Azure Kubernetes per il debug futuro oppure eliminarlo con il comando seguente.

az aks delete --name MyAKS --resource-group MyResourceGroup

Passaggi successivi

Altre informazioni su Bridge to Kubernetes sono disponibili in Funzionamento di Bridge to Kubernetes.