Een Linux Service Fabric-cluster instellen op uw Windows-ontwikkelcomputer

In dit document wordt beschreven hoe u een lokaal Linux Service Fabric-cluster instelt op een Windows-ontwikkelcomputer. Het instellen van een lokaal Linux-cluster is handig om snel toepassingen te testen die zijn gericht op Linux-clusters, maar zijn ontwikkeld op een Windows-computer.

Vereisten

Service Fabric-clusters op basis van Linux worden niet uitgevoerd in Windows, maar om platformoverschrijdende prototypen mogelijk te maken, hebben we een Docker-container met één dooscluster van Linux Service Fabric geleverd, die kan worden geïmplementeerd via Docker voor Windows.

Voordat u aan de slag gaat, hebt u het volgende nodig:

  • Ten minste 4 GB RAM-geheugen
  • Nieuwste versie van Docker voor Windows
  • Docker moet worden uitgevoerd in de modus Linux-containers

Tip

Volg de stappen in de Docker-documentatie om Docker op uw Windows-computer te installeren. Na de installatie dient u uw installatie te controleren.

Een lokale container maken en Service Fabric configureren

Voer de volgende stappen uit om een lokale Docker-container in te stellen en er een Service Fabric-cluster op uit te voeren:

  1. Werk de configuratie van de Docker-daemon op uw host bij met het volgende en start de Docker-daemon opnieuw op:

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

    De aanbevolen manier om bij te werken is door naar:

    • Docker-pictogram > Instellingen > Docker Engine
    • De nieuwe velden toevoegen die hierboven worden vermeld
    • Toepassen en opnieuw opstarten: start de Docker-daemon opnieuw op om de wijzigingen van kracht te laten worden.
  2. Start het cluster 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
    

    Tip

    Standaard wordt hierdoor de installatiekopie met de nieuwste versie van Service Fabric opgehaald. Zie de pagina Service Fabric Onebox op Docker Hub voor specifieke revisies.

  3. Optioneel: bouw uw uitgebreide Service Fabric-installatiekopieën.

    Maak in een nieuwe map een bestand met de naam Dockerfile om de aangepaste installatiekopieën te bouwen:

    Notitie

    U kunt de bovenstaande installatiekopieën aanpassen met een Dockerfile om extra programma's of afhankelijkheden toe te voegen aan uw container. Bijvoorbeeld: het toevoegen van RUN apt-get install nodejs -y biedt ondersteuning voor nodejs-toepassingen als uitvoerbare gastbestanden.

    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"]
    

    Tip

    Standaard wordt hierdoor de installatiekopie met de nieuwste versie van Service Fabric opgehaald. Ga naar de Docker Hub-pagina als u een bepaalde revisie wilt ophalen.

    Als u uw herbruikbare installatiekopieën wilt bouwen vanuit de Dockerfile, opent u een terminal en cd gaat u naar het rechtstreeks vasthoudende bestand dat u Dockerfile vervolgens uitvoert:

    docker build -t mysfcluster .
    

    Notitie

    Deze bewerking kan enige tijd duren, maar hoeft slechts eenmaal te worden uitgevoerd.

    U kunt nu snel een lokale kopie van Service Fabric starten wanneer u deze nodig hebt door het volgende uit te voeren:

    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
    

    Tip

    Door een naam op te geven voor uw instantie van de container, kunt u deze op een beter leesbare manier verwerken.

    Als uw toepassing op bepaalde poorten luistert, moeten de poorten worden opgegeven met behulp van aanvullende -p labels. Bijvoorbeeld, als uw toepassing op poort 8080 luistert, voeg dan de volgende -p tag toe:

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

  4. Het duurt even voor het cluster is gestart. U kunt logboeken bekijken via de volgende opdracht of naar het dashboard gaan om de status van het cluster, http://localhost:19080, te bekijken:

    docker logs sftestcluster
    
  5. Nadat het cluster is geïmplementeerd zoals in stap 4 is waargenomen, kunt u naar http://localhost:19080 uw Windows-computer gaan om het Service Fabric Explorer-dashboard te vinden. Op dit moment kunt u verbinding maken met dit cluster met behulp van hulpprogramma's van uw Windows-ontwikkelcomputer en toepassingen implementeren die zijn gericht op Linux Service Fabric-clusters.

    Notitie

    De Eclipse-invoegtoepassing wordt momenteel niet ondersteund in Windows.

  6. Wanneer u klaar bent, stopt en schoont u de container op met deze opdracht:

    docker rm -f sftestcluster
    

Bekende beperkingen

Hier volgen bekende beperkingen van het uitvoeren van het lokale cluster in een container voor Mac-computers:

  • DE DNS-service wordt niet uitgevoerd en wordt momenteel niet ondersteund in de container. Probleem 132
  • Voor het uitvoeren van op containers gebaseerde apps is het uitvoeren van SF op een Linux-host vereist. Geneste containertoepassingen worden momenteel niet ondersteund.

Volgende stappen