Bridge to Kubernetes gebruiken met AKS
Notitie
Bridge to Kubernetes wordt op 30 april 2025 buiten gebruik gesteld. Zie de GitHub-probleemvoor meer informatie over de buitengebruikstelling en opensource-alternatieven.
In deze zelfstudie gebruikt u een specifieke AKS-voorbeeldweb-app voor microservices om te leren hoe u Bridge naar Kubernetes gebruikt om lokaal fouten op te sporen in één pod die deel uitmaakt van een AKS-cluster (Azure Kubernetes Service).
Voordat u begint
In deze handleiding wordt de voorbeeldtoepassing Todo-app gebruikt om te laten zien hoe u uw ontwikkelcomputer verbindt met een Kubernetes-cluster dat wordt uitgevoerd in AKS. Zie Ontwikkelen met Kubernetesals u al uw eigen toepassing hebt die wordt uitgevoerd op een Kubernetes-cluster. Als u een ander cluster gebruikt, zoals Minikube dat lokaal wordt uitgevoerd, zie Gebruik Bridge to Kubernetes met een voorbeeld.
Voorwaarden
- Een Azure-abonnement. Als u geen Azure-abonnement hebt, kunt u een gratis account maken.
- Azure CLI geïnstalleerd.
- Visual Studio Code wordt uitgevoerd op macOS, Windows 10 of Linux.
- De geïnstalleerde Bridge to Kubernetes-extensie in Visual Studio Code.
Een Kubernetes-cluster maken
Maak een AKS-cluster in een ondersteunde regio. Met de volgende opdrachten maakt u een resourcegroep met de naam MyResourceGroup
en een AKS-cluster met de naam MyAKS
.
az group create \
--name MyResourceGroup \
--location eastus
az aks create \
--resource-group MyResourceGroup \
--name MyAKS \
--location eastus \
--node-count 3 \
--generate-ssh-keys
De voorbeeldtoepassing installeren
De code downloaden en afhankelijkheden installeren
git clone https://github.com/hsubramanianaks/b2k-samples
cd b2k-samples/todo-app
npm install stats-api\
Verbinding maken met uw cluster en de app implementeren
Download en configureer de Kubernetes CLI op uw ontwikkelcomputer om verbinding te maken met uw Kubernetes-cluster met behulp van 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
De app uitproberen
Voer in dezelfde terminal die u eerder gebruikte de volgende opdracht uit en kopieer het IP-adres voor de front-endservice onder de kolom Extern IP.
kubectl get services
Als u de app wilt uitproberen, opent u de URL: {your external IP from above command goes here}.nip.io
Fouten opsporen in stats-api-service
Typ in dezelfde terminal die u eerder hebt gebruikt de volgende opdracht om stats-api in VS Code te openen.
code ./stats-api
Plaats eerst een onderbrekingspunt op regel 17 van server.js
.
Zorg er vervolgens voor dat de todo-app
naamruimte in het MyAKS
-cluster is ingesteld als standaard (als het * ernaast heeft). Als deze niet als standaard is ingesteld, klikt u met de rechtermuisknop op het todo-app-knooppunt en kiest u Naamruimte gebruiken.
Configureer vervolgens bridge: open het opdrachtpalet (Ctrl+Shift+P of Cmd+Shift+P op een Mac) en typ Bridge to Kubernetes. Selecteer de Bridge to Kubernetes: Configure optie.
U wordt gevraagd de service te configureren die u wilt vervangen, de poort om door te sturen vanaf uw ontwikkelcomputer en de starttaak die u wilt gebruiken.
Kies de stats-api
-service.
Belangrijk
U kunt alleen services omleiden die één pod hebben.
Nadat u uw service hebt geselecteerd, wordt u gevraagd om de TCP-poort voor uw lokale toepassing in te voeren. Voer voor dit voorbeeld 3001 in.
Kies Script uitvoeren: dev als de starttaak.
U hebt de mogelijkheid om geïsoleerd of niet geïsoleerd uit te voeren. Als u geïsoleerd uitvoert, worden alleen uw aanvragen doorgestuurd naar uw lokale proces; andere ontwikkelaars kunnen het cluster gebruiken zonder dat dit wordt beïnvloed. Als u niet in een geïsoleerde modus uitvoert, wordt al het verkeer omgeleid naar uw lokale proces. Zie voor meer informatie over deze optie Routeringsmogelijkheden gebruiken om in isolatie te ontwikkelen. In dit voorbeeld gaan we verder met niet-geïsoleerd. Als u isolatie hebt gekozen, heeft task.json het voorvoegsel dat u moet gebruiken om de aanvraag naar uw computer te routeren.
Notitie
Bij volgende opstarten klikt u gewoon op het debug-pictogram zonder deze configuratie te doorlopen en zonder dat u gevraagd wordt om de servicenaam, poort, opstarttaak of om geïsoleerd te worden uitgevoerd. Deze waarden worden opgeslagen in .vscode/tasks.json
. Als u deze instellingen later wilt wijzigen, opent u het opdrachtpalet (Ctrl+Shift+P of Cmd+Shift+P op een Mac) en voert u de opdracht Bridge uit naar Kubernetes:configureren.
Het foutopsporingsprofiel Bridge to Kubernetes is succesvol geconfigureerd.
Als u foutopsporing wilt starten, selecteert u het pictogram Foutopsporing aan de linkerkant en selecteert u Script uitvoeren: dev met Kubernetes. Klik op de startknop naast Script uitvoeren: dev met Kubernetes.
Notitie
U wordt gevraagd om endpointManager toe te staan verhoogde bevoegdheden uit te voeren en het hosts-bestand te wijzigen.
Uw ontwikkelcomputer is verbonden wanneer de statusbalk van VS Code oranje wordt en de Kubernetes-extensie laat zien dat u bent verbonden. Zodra uw ontwikkelcomputer is verbonden, begint het verkeer omgeleid te worden naar uw ontwikkelcomputer voor de stats-api die u vervangt.
Navigeer naar het front-endinvoerpunt van uw toepassing via het externe IP-adres dat u eerder hebt gevonden, {your external IP from get services command}.nip.io
. Als u de isolatiemodus hebt geselecteerd, moet u {your prefix - can be found in task.json}.{your external IP from get services command}.nip.io
gebruiken.
Maak een verzoek aan de stats-API door de link statistieken te kiezen.
Let op het verkeer dat in eerste instantie is gestart in uw cluster, is omgeleid naar de lokaal actieve versie (buiten het cluster) waar het onderbrekingspunt is geactiveerd.
Druk op Afspelen en laat de aanvraag op transparante wijze doorgaan en voltooien.
Opschonen
Wanneer u het foutopsporingsprogramma stopt, worden alle wijzigingen in het cluster teruggezet. Als u met isolatie werkt, blijft de routeringsbeheerpod daar staan om het begin van het foutopsporingsprogramma de volgende keer te versnellen.
U kunt uw AKS-cluster ingeschakeld laten voor toekomstige foutopsporing of u kunt het verwijderen met de volgende opdracht.
az aks delete --name MyAKS --resource-group MyResourceGroup
Volgende stappen
Meer informatie over Bridge to Kubernetes vindt u op How Bridge to Kubernetes werkt.