Dela via


Konfigurera ett Linux Service Fabric-kluster via WSL2 på windows-utvecklardatorn

Det här dokumentet beskriver hur du konfigurerar ett lokalt Linux Service Fabric-kluster via WSL2 på en Windows-utvecklingsdator. Det är användbart att konfigurera ett lokalt Linux-kluster för att snabbt testa program som är avsedda för Linux-kluster, men som har utvecklats på en Windows-dator.

Förutsättningar

Linux-baserade Service Fabric-kluster körs inte direkt i Windows, men för att möjliggöra plattformsoberoende prototyper har vi tillhandahållit ett sätt att distribuera Service Fabric-kluster i Linux-distribution via WSL2 (Windows podsistem za Linux) för Windows.

Innan du börjar behöver du:

  • WSL2 Konfigurera i Windows och se till att WSL 2 är standardversion
  • Konfigurera Ubuntu 18.04 Linux-distribution från Microsoft Store när du konfigurerar WSL2

Dricks

Om du vill installera WSL2 på din Windows-dator följer du stegen i WSL-dokumentationen. Efter installationen kontrollerar du installationen av Ubuntu-18.04, gör den till din standarddistribution och bör vara igång.

Konfigurera Service Fabric SDK i Linux-distribution

Service Fabric-installationsprogrammet kan inte utföras i WSL2 Linux-distribution på samma sätt som i linux-standardoperativsystemet. Eftersom systemd som PID1 inte körs i den virtuella datorn och systemd som PID1 är en förutsättning för att SF SDK ska fungera. För att aktivera systemd som PID1 används systemd-genie som work-around. Mer information om systemd-genie finns i systemd genie setup Script installation and manual installation steps cover installation of systemd-genie ande and service fabric sdk both.

Installation av skript

För enkelhetens skull tillhandahålls ett skript för att installera Service Fabric common SDK tillsammans med sfctl CLI. Vi förutsätter att du har godkänt licenserna för all programvara som installeras innan du kör skriptet. Du kan också köra stegen för manuell installation i nästa avsnitt, som visar associerade licenser och de komponenter som installeras.

När skriptet har körts kan du gå vidare till Konfigurera ett lokalt kluster.

sudo curl -s https://raw.githubusercontent.com/Azure/service-fabric-scripts-and-templates/master/scripts/SetupServiceFabric/SetupServiceFabric.sh | sudo bash

Manuell installation

Om du vill installera Service Fabric Runtime och SDK manuellt följer du stegen i resten av den här guiden.

  1. Öppna en terminal.

  2. Logga in på WSL2 Linux-distribution

  3. Konfigurera systemd-genie enligt beskrivningen i systemd genie-installationen (om systemd-genie redan har konfigurerats kan du gå vidare till nästa steg)

  4. Ange i genie-namnrymden med genie -s

  5. I genie-namnrymden kan SF SDK också installeras enligt instruktionerna för skriptinstallation eller manuell installation i Konfigurera ett lokalt Linux-kluster

  6. Ange sudo-behörigheter för den aktuella användaren genom att göra en post <USERNAME\> ALL = (ALL) NOPASSWD:ALL i /etc/sudoers

Konfigurera ett lokalt kluster

Service Fabric i den virtuella WSL2-datorn rekommenderas att hantera från värdfönster

  1. Installera Service Fabric SDK (version 6.0 eller senare) i Windows-värden

  2. I Windows kan klustret hanteras med hjälp av ServiceFabricLocalClusterManager-verktyget som tillhandahålls som en del av SF SDK

  3. Alternativet för att hantera lokalt Linux-kluster är endast aktiverat när ett. Den virtuella WSL2-datorn körs, b. Systemd-genie-, servicefabricruntime- och servicefabricsdkcommon-paket installeras korrekt i den virtuella datorn och c. Systemd-genie är i körningstillstånd. Du kan konfigurera eller växla till lokalt Linux-kluster från det här verktyget.

  4. Ett annat sätt att konfigurera Linux-kluster är att distribuera med hjälp av klusterkonfigurationsskript som tillhandahålls som en del av SF SDK.

  5. Öppna en webbläsare och gå till Service Fabric Explorer http://localhost:19080. När klustret startas visas Service Fabric Explorer-instrumentpanelen. Det kan ta flera minuter innan klustret konfigureras. Om webbläsaren inte kan öppna URL:en eller om Service Fabric Explorer inte visar klustret väntar du några minuter och försöker igen. Du kan också se klustret i ServiceFabricExplorer som anges i SF SDK.

  6. När klustret är igång kan du ansluta till det lokala klustret i PowerShell och Visual Studio.

Manuell installation med anpassat ServiceFabric- och ServieFabricSdkCommon Debian-paket

För manuell installation av Service Fabric från anpassade eller nedladdade debianpaket följer du resten av den här guiden.

  1. Öppna en terminal.

  2. Logga in på WSL2 Linux-distribution

  3. Klona konfigurationsfil

sudo curl -s https://raw.githubusercontent.com/Azure/service-fabric-scripts-and-templates/master/scripts/SetupServiceFabric/SetupServiceFabric.sh > SetupServiceFabric.sh
  1. Gör filen körbar
sudo chmod +x SetupServiceFabric.sh
  1. Kör konfigurationsskriptet med sökvägen för lokala debianpaket. Kontrollera att de angivna sökvägarna är giltiga. Nedan visas ett exempel:
sudo ./SetupServiceFabric.sh --servicefabricruntime=/mnt/c/Users/testuser/Downloads/servicefabric.deb --servicefabricsdk=/mnt/c/Users/testuser/Downloads/servicefabric_sdkcommon.deb

Kända begränsningar

Följande är kända begränsningar för det lokala kluster som körs i Linux-distribution:

  • För närvarande stöds endast Ubuntu-18.04-distribution.
  • För att få en smidig upplevelse med Local Cluster Manager och Visual Studio rekommenderar vi att du hanterar kluster från PowerShell-skript eller LocalClusterManager i Windows-värden.

Vanliga frågor och svar

  1. Vilka Linux-distributioner stöds för konfiguration av lokala SF-kluster?
    För närvarande stöds endast Ubuntu-18.04 för lokala Linux-kluster.

  2. Kan Windows- och Linux SF-kluster köras parallellt med WSL2-konfigurationen?
    Nej, på en gång kan bara ett lokalt kluster köras antingen i värden eller på den virtuella gästdatorn.

  3. Hur distribuerar du ett lokalt Linux-kluster med en nod?
    En nod eller ett lokalt Linux-kluster med fem noder kan distribueras från Local Cluster Manager från menyalternativen. När du distribuerar från installationsskriptet distribueras fem nodkluster som standard och för ett nodkluster ska CreateOneNodeCluster skickas.

  4. Så här ansluter du till det lokala Linux-klustret i PowerShell och Visual Studio?
    Om det lokala Linux-klustret är igång bör cmdleten connect-servicefabriccluster automatiskt ansluta till det här klustret. Liknande Visual Studio identifierar automatiskt det här lokala klustret. Det här klustret kan också anslutas genom att tillhandahålla klusterslutpunkt i PowerShell eller Visual Studio.

  5. Var finns SF-klusterdata för det lokala Linux-klustret?
    Om du använder Ubuntu-18.04-distribution finns SF-data på \wsl$\Ubuntu-18.04\home\sfuser\sfdevcluster från Windows-värden.

Nästa steg