Einrichten eines Linux-Service Fabric-Clusters auf Ihrem Windows-Entwicklungscomputer
In diesem Dokument wird beschrieben, wie Sie einen lokalen Linux-Service Fabric-Cluster auf einem Windows-Entwicklungscomputer einrichten. Das Einrichten eines lokalen Linux-Clusters ist für das schnelle Testen von Anwendungen, die für Linux-Cluster konzipiert sind, aber auf einem Windows-Computer entwickelt werden.
Voraussetzungen
Linux-basierte Service Fabric-Cluster werden nicht unter Windows ausgeführt. Um aber plattformübergreifende Prototypen zu ermöglichen, haben wir einen Docker-Clustercontainer von Linux-Service Fabric zur Verfügung gestellt, der über Docker für Windows bereitgestellt werden kann.
Bevor Sie beginnen, benötigen Sie Folgendes:
- Mindestens 4 GB RAM
- Neueste Version von Docker für Windows
- Docker muss im Linux-Containermodus ausgeführt werden.
Tipp
Führen Sie die Schritte in der Docker-Dokumentation aus, um Docker auf Ihrem Windows-Computer zu installieren. Überprüfen Sie anschließend die Installation.
Erstellen eines lokalen Containers und Einrichten von Service Fabric
Führen Sie die folgenden Schritte aus, um einen lokalen Docker-Container einzurichten und einen Service Fabric-Cluster darin auszuführen:
Aktualisieren Sie wie folgt die Konfiguration des Docker-Daemons auf dem Host, und starten Sie den Docker-Daemon neu:
{ "ipv6": true, "fixed-cidr-v6": "2001:db8:1::/64" }
Empfohlene Vorgehensweise zum Aktualisieren:
- Docker-Symbol > Einstellungen > Docker-Engine
- Hinzufügen der oben aufgeführten neuen Felder
- Anwenden und neu starten: Neustarten des Docker-Daemons, damit die Änderungen wirksam werden.
Starten des Clusters über 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
Tipp
Standardmäßig wird dann das Image mit der aktuellen Version von Service Fabric per Pullvorgang bereitgestellt. Informationen zu bestimmten Revisionen finden Sie auf der Seite Service Fabric Onebox von Docker Hub.
Optional: Erstellen Sie das erweiterte Service Fabric-Image.
Erstellen Sie zum Erstellen Ihres angepassten Images eine Datei namens
Dockerfile
in einem neuen Verzeichnis:Hinweis
Sie können das Image oben mit einer Dockerfile-Datei anpassen, um in Ihrem Container weitere Programme oder Abhängigkeiten hinzuzufügen. Wenn Sie beispielsweise
RUN apt-get install nodejs -y
hinzufügen, können Anwendungen vom Typnodejs
als ausführbare Gastdateien unterstützt werden.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"]
Tipp
Standardmäßig wird dann das Image mit der aktuellen Version von Service Fabric per Pullvorgang bereitgestellt. Bestimmte Revisionen finden Sie auf der Seite Docker Hub.
Öffnen Sie ein Terminal, wechseln Sie mit
cd
zum Verzeichnis mit Ihrer Datei vom TypDockerfile
, und führen Sie anschließend Folgendes aus, um Ihr wiederverwendbares Images auf der Grundlage der Datei vom TypDockerfile
zu erstellen:docker build -t mysfcluster .
Hinweis
Dieser Vorgang dauert etwas, muss jedoch nur einmal ausgeführt werden.
Nun können Sie bei Bedarf schnell eine lokale Kopie von Service Fabric starten, indem Sie Folgendes ausführen:
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
Tipp
Geben Sie einen Namen für Ihre Containerinstanz an, um die Lesbarkeit zu verbessern.
Wenn Ihre Anwendung an bestimmten Ports lauscht, müssen diese mit zusätzlichen Tags vom Typ
-p
angegeben werden. Beispiel: Wenn Ihre Anwendung an Port 8080 lauscht, fügen Sie das folgende-p
-Tag hinzu:docker run -itd -p 19000:19000 -p 19080:19080 -p 8080:8080 --name sfonebox mcr.microsoft.com/service-fabric/onebox:u18
Der Start des Clusters dauert einen Moment. Sie können mithilfe des folgenden Befehls Protokolle anzeigen oder zum Dashboard wechseln, um sich über die Integrität der Cluster zu informieren (
http://localhost:19080
):docker logs sftestcluster
Nachdem der Cluster wie in Schritt 4 beschrieben erfolgreich bereitgestellt wurde, können Sie auf Ihrem Windows-Computer zu
http://localhost:19080
navigieren, um das Service Fabric Explorer-Dashboard zu suchen. Jetzt können Sie mit Tools von Ihrem Windows-Entwicklungscomputer aus eine Verbindung mit diesem Cluster herstellen und Anwendungen für Linux-Service Fabric-Cluster bereitstellen.Hinweis
Das Eclipse-Plug-In wird unter Windows aktuell nicht unterstützt.
Wenn Sie fertig sind, beenden und bereinigen Sie den Container mithilfe des folgenden Befehls:
docker rm -f sftestcluster
Bekannte Einschränkungen
Für den lokalen Cluster in einem Container auf einem Mac sind folgende Einschränkungen bekannt:
- Der DNS-Dienst wird nicht ausgeführt und wird zurzeit im Container nicht unterstützt. Issue #132
- Das Ausführen von containerbasierten Apps erfordert die Ausführung von SF auf einem Linux-Host. Geschachtelte Containeranwendungen werden derzeit nicht unterstützt.
Nächste Schritte
- Einrichten eines Linux-Clusters unter Windows über WSL2
- Erstellen und Bereitstellen Ihrer ersten Service Fabric-Java-Anwendung unter Linux mithilfe von Yeoman
- Erste Schritte mit Eclipse
- Weitere Java-Beispiele anzeigen
- Informieren Sie sich über Service Fabric-Supportoptionen.