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

Det här dokumentet beskriver hur du konfigurerar ett lokalt Linux Service Fabric-kluster 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 i Windows, men för att aktivera plattformsoberoende prototyper har vi tillhandahållit en Docker-container för Linux Service Fabric one box-kluster, som kan distribueras via Docker för Windows.

Innan du börjar behöver du:

  • Minst 4 GB RAM-minne
  • Senaste versionen av Docker för Windows
  • Docker måste köras i Linux-containerläge

Dricks

Om du vill installera Docker på din Windows-dator följer du stegen i Docker-dokumentationen. Verifiera installationen när du är färdig.

Skapa en lokal container och konfigurera Service Fabric

Om du vill konfigurera en lokal Docker-container och ha ett Service Fabric-kluster som körs på den kör du följande steg:

  1. Uppdatera konfigurationen av Docker-daemon på värden enligt följande och starta om Docker-daemon:

    {
      "ipv6": true,
      "fixed-cidr-v6": "2001:db8:1::/64"
    }
    

    Det rekommenderade sättet att uppdatera är att gå till:

    • Docker-ikon > Inställningar > Docker-motor
    • Lägg till de nya fälten som anges ovan
    • Använd &starta om – starta om Docker-daemon för att ändringarna ska börja gälla.
  2. Starta klustret via PowerShell.
    Ubuntu 20.04 LTS:

    docker run --name sftestcluster -d -v /var/run/docker.sock:/var/run/docker.sock -p 19080:19080 -p 19000:19000 -p 25100-25200:25100-25200 mcr.microsoft.com/service-fabric/onebox:u20
    

    Ubuntu 18.04 LTS:

    docker run --name sftestcluster -d -v /var/run/docker.sock:/var/run/docker.sock -p 19080:19080 -p 19000:19000 -p 25100-25200:25100-25200 mcr.microsoft.com/service-fabric/onebox:u18
    

    Dricks

    Som standard hämtas avbildningen med den senaste Service Fabric-versionen. Särskilda revisioner finns på sidan Service Fabric Onebox på Docker Hub.

  3. Valfritt: Skapa din utökade Service Fabric-avbildning.

    I en ny katalog skapar du en fil med namnet Dockerfile för att skapa din anpassade avbildning:

    Kommentar

    Du kan anpassa avbildningen ovan med en Dockerfile för att lägga till ytterligare program eller beroenden i containern. Om du t.ex. lägger till RUN apt-get install nodejs -y tillåter du stöd för nodejs-program som körbara gästfiler.

    FROM mcr.microsoft.com/service-fabric/onebox:u18
    RUN apt-get install nodejs -y
    EXPOSE 19080 19000 80 443
    WORKDIR /home/ClusterDeployer
    CMD ["./ClusterDeployer.sh"]
    

    Dricks

    Som standard hämtas avbildningen med den senaste Service Fabric-versionen. Läs mer om vissa revideringar på sidan Docker-hubb.

    Om du vill skapa en återanvändbar avbildning från Dockerfileöppnar du en terminal och cd till den som håller Dockerfile din körning direkt:

    docker build -t mysfcluster .
    

    Kommentar

    Den här åtgärden kan ta lite tid, men det behöver bara göras en gång.

    Nu kan du snabbt starta en lokal kopia av Service Fabric när du behöver den genom att köra:

    docker run --name sftestcluster -d -v /var/run/docker.sock:/var/run/docker.sock -p 19080:19080 -p 19000:19000 -p 25100-25200:25100-25200 mysfcluster
    

    Dricks

    Ange ett namn för din containerinstans så att du kan hantera den enklare.

    Om programmet lyssnar på vissa portar måste du ange portarna med hjälp av ytterligare -p-taggar. Om programmet till exempel lyssnar på port 8080 lägger du till följande -p-tagg:

    docker run -itd -p 19000:19000 -p 19080:19080 -p 8080:8080 --name sfonebox mcr.microsoft.com/service-fabric/onebox:u18

  4. Det tar en liten stund för klustret att starta. Du kan se loggar med följande kommando eller gå till instrumentpanelen och visa klusterhälsotillståndet http://localhost:19080:

    docker logs sftestcluster
    
  5. När klustret har distribuerats enligt vad som observerats i steg 4 kan du gå till http://localhost:19080 från Windows-datorn för att hitta Instrumentpanelen för Service Fabric Explorer. Nu kan du ansluta till det här klustret med hjälp av verktyg från din Windows-utvecklardator och distribuera program som är avsedda för Linux Service Fabric-kluster.

    Kommentar

    Eclipse-pluginprogrammet stöds för närvarande inte av Windows.

  6. När du är klar stoppar och rensar du containern med det här kommandot:

    docker rm -f sftestcluster
    

Kända begränsningar

Följande begränsningar är kända begränsningar i lokala kluster som körs i en container för Mac:

  • DNS-tjänsten körs inte och stöds för närvarande inte i containern. Problem #132
  • Om du kör containerbaserade appar måste du köra SF på en Linux-värd. Kapslade containerprogram stöds för närvarande inte.

Nästa steg