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
- Una sottoscrizione di Azure. Se non si ha una sottoscrizione di Azure, è possibile creare un account gratuito .
- 'interfaccia della riga di comando di Azure installata.
- Visual Studio Code in esecuzione in macOS, Windows 10 o Linux.
- L'estensione Bridge to Kubernetes installata in Visual Studio Code.
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.
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.
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
.
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.
Scegliere Esegui script: sviluppa come attività di avvio.
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.
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.
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.
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.
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.