Delen via


Bridge to Kubernetes gebruiken met een voorbeeld

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 dit voorbeeld ziet u hoe Bridge to Kubernetes kan worden gebruikt voor het ontwikkelen van een microserviceversie van een eenvoudige TODO-toepassing op elk Kubernetes-cluster. Dit voorbeeld, met Visual Studio Code, is aangepast op basis van code die is geleverd door TodoMVC-. In dit voorbeeld gebruiken we MiniKube om de toepassing te hosten, maar deze stappen moeten met elk Kubernetes-cluster werken.

Het todo-toepassingsvoorbeeld bestaat uit een front-end en een back-end die permanente opslag biedt. In dit uitgebreide voorbeeld wordt een statistische component toegevoegd en wordt de toepassing opgesplitst in een aantal microservices, met name:

  • De front-end roept de database-API aan om TODO-items te behouden en bij te werken;
  • De database-API-service is afhankelijk van een Mongo-database om TODO-items te behouden;
  • De front-end schrijft gebeurtenissen toe, voltooit en verwijdert gebeurtenissen aan een RabbitMQ-wachtrij;
  • Een statistiekenmedewerker ontvangt gebeurtenissen uit de RabbitMQ-wachtrij en werkt een Redis-cache bij;
  • Een statistieken-API toont de statistieken in de cache voor de front-end om weer te geven.

In totaal bestaat deze uitgebreide TODO-toepassing uit zes onderling gerelateerde onderdelen.

Voorwaarden

  • Een Kubernetes-cluster of Chocolatey pakketbeheerder om MiniKube te installeren
  • Op Windows 10 Hyper-V
  • Kubectl geïnstalleerd en beschikbaar in de 'path' in een command-line interface naar keuze
  • Bridge to Kubernetes Visual Studio Code-extensie

MiniKube installeren

U kunt elke Kubernetes-provider met Bridge naar Kubernetes gebruiken. In dit artikel gebruiken we MiniKube. MiniKube is een lichtgewicht Kubernetes-provider waarmee u Kubernetes kunt hosten op uw lokale computer. Volg de installatie-instructies om MiniKube te installeren op Windows 10, Linux of macOS.

Voor de beste resultaten in Windows 10 moet u het Hyper-V VM-beheer gebruiken en een virtuele switch maken.

Nadat de installatie is uitgevoerd, start u MiniKube, geeft u op dat u Hyper-V wilt gebruiken en geeft u de naam op van de primaire virtuele switch. Deze opdracht moet worden uitgevoerd vanaf een opdrachtprompt met beheerdersbevoegdheden.

minikube start --vm-driver hyperv --hyperv-virtual-switch "Primary Virtual Switch"

De toepassing implementeren

Kloon de Bridge to Kubernetes-repo en open een opdrachtvenster met de huidige werkmap naar todo-app.

Maak een naamruimte voor het voorbeeld.

kubectl create namespace todo-app

Pas vervolgens het implementatiemanifest toe:

kubectl apply -n todo-app -f deployment.yaml

Dit is een eenvoudige implementatie die de front-end beschikbaar maakt met behulp van een service van het type LoadBalancer. Wacht tot alle pods draaien en het externe IP-adres van de frontend-service beschikbaar is.

Als u test met MiniKube, moet u minikube tunnel gebruiken om een extern IP-adres op te lossen.

kubectl get services -n todo-app

NAME          TYPE           CLUSTER-IP     EXTERNAL-IP      PORT(S)        AGE
frontend      LoadBalancer   10.0.49.177    127.0.0.1   80:30145/TCP   18h

Blader naar de toepassing met behulp van het externe IP-adres en de lokale poort (het eerste nummer in de kolom PORT(S).

http://{external-ip}:{local-port}

Test de actieve app in de browser. Wanneer u taken toevoegt, voltooit en verwijdert, ziet u dat de statistiekenpagina wordt bijgewerkt met de verwachte metrische gegevens.

Fouten opsporen in de stats-API-service

U kunt nu de Bridge to Kubernetes-extensie gebruiken om te laten zien hoe verkeer van het Kubernetes-cluster kan worden omgeleid naar een lokaal actieve versie van de stats-api.

cd stats-api/

Open de broncode voor de stats-API in VS Code.

code .

Nadat VS Code is gestart, opent u het Kubernetes-deelvenster in de linkerzijbalk van VS Code en selecteert u vervolgens de todo-app naamruimte in uw MiniKube-cluster. Klik met de rechtermuisknop op het knooppunt todo-app en kies Gebruik naamruimte.

Naamruimte selecteren

Installeer afhankelijkheden door npm install uit te voeren in een terminalvenster (CTRL + ~).

npm install

Plaats vervolgens een onderbrekingspunt op regel 17 van server.js.

Open het opdrachtpalet (Ctrl+Shift+P of Cmd+Shift+P op een Mac) en typ Bridge naar Kubernetes. Selecteer de optie Bridge to Kubernetes: configureren.

Bridge to Kubernetes: Opdracht configureren

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.

Selecteer de service om verbinding te maken met

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.

voer het poortnummer in

Kies Script uitvoeren: dev als de starttaak.

Kies de starttaak voor het foutopsporingsprogramma

U hebt de keuze om geïsoleerd of niet geïsoleerd te werken. 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 geïsoleerd werkt, wordt al het verkeer omgeleid naar uw lokale proces. Voor meer informatie over deze optie, zie Routeringsmogelijkheden gebruiken voor ontwikkelen in isolatie. In dit voorbeeld gaan we niet-geïsoleerd gebruiken.

Isolatie kiezen

Notitie

VS Code vraagt u om endpointManager toe te staan verhoogde bevoegdheden uit te voeren en het hosts-bestand te wijzigen.

Het foutopsporingsprofiel Bridge to Kubernetes is succesvol geconfigureerd.

Selecteer het Debugging-pictogram aan de linkerkant en selecteer Script uitvoeren: dev met Kubernetes. Klik op de startknop naast Run Script: dev met Kubernetes.

Foutopsporingsprofiel kiezen

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 aangesloten, wordt al het verkeer voor de stats-API die u vervangt, naar uw ontwikkelcomputer omgeleid.

foutopsporing met Bridge to Kubernetes-

Navigeer naar het toegangspunt van de voorkant van uw todo-app. Voor minikube gebruiken we 127.0.0.1. Als u toegang wilt krijgen tot de URL van het lokale eindpunt voor uw app, opent u het Kubernetes-menu op de statusbalk en kiest u de eindpuntvermelding.

Dien een verzoek in bij de stats-API door de koppeling statistieken te kiezen.

Actieve website: kies de statuskoppeling

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 volledig transparant doorgaan.

In dit voorbeeld ziet u hoe u Bridge to Kubernetes gebruikt op niet-AKS-clusters. Probeer het vervolgens op uw eigen project!

Opschonen

Als u de assets wilt opschonen die door dit voorbeeld zijn geproduceerd, voert u het volgende uit:

kubectl delete namespace todo-app

Volgende stappen

U kunt uw app ook implementeren in Azure Kubernetes Service (AKS) met Bridge naar Kubernetes. Zie Bridge naar Kubernetes gebruiken met AKS