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:
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 Icon > Settings > 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.
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.
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 voornodejs
-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 encd
gaat u naar het rechtstreeks vasthoudende bestand dat uDockerfile
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
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
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.
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
- Een Linux-cluster instellen in Windows via WSL2
- Uw eerste Service Fabric Java-toepassing in Linux maken en implementeren met behulp van Yeoman
- Aan de slag met Eclipse
- Bekijk andere Java-voorbeelden
- Meer informatie over ondersteuningsopties voor Service Fabric