Einrichten Ihrer Entwicklungsumgebung unter macOS X
Sie können Azure Service Fabric-Anwendungen für die Ausführung in Linux-Clustern unter macOS X erstellen. In diesem Dokument erfahren Sie, wie Sie Ihren Mac für die Entwicklung einrichten.
Voraussetzungen
Azure Service Fabric wird nicht nativ unter macOS X ausgeführt. Für die Ausführung eines lokalen Service Fabric-Clusters wird ein vorkonfiguriertes Docker-Containerimage bereitgestellt. Bevor Sie beginnen, benötigen Sie Folgendes:
Systemanforderungen für die Installation von Docker Desktop unter Mac
Tipp
Führen Sie die Schritte in der Docker-Dokumentation aus, um Docker auf Ihrem Mac zu installieren. Nach der Installation können Sie Docker Desktop verwenden, um Einstellungen wie Ressourcenlimits und Datenträgerauslastung festzulegen.
Erstellen eines lokalen Containers und Einrichten von Service Fabric
Führen Sie die folgenden Schritte aus, um einen lokalen Docker-Container einzurichten und darin einen Service Fabric-Cluster auszuführen:
Aktualisieren Sie die Konfiguration des Docker-Daemons auf dem Host mit den folgenden Einstellungen, und starten Sie den Docker-Daemon neu:
{ "ipv6": true, "fixed-cidr-v6": "fd00::/64" }
Sie können diese Einstellungen direkt in der Datei „daemon.json“ im Docker-Installationspfad aktualisieren. Sie können die Daemon-Konfigurationseinstellungen direkt in Docker ändern. Klicken Sie auf das Docker-Symbol und anschließend auf Einstellungen>Daemon>Erweitert.
Hinweis
Es wird empfohlen, den Daemon direkt in Docker zu ändern, da sich der Speicherort der Datei „daemon.json“ von Computer zu Computer unterscheiden kann. Beispiel: ~/Library/Containers/com.docker.docker/Data/database/com.docker.driver.amd64-linux/etc/docker/daemon.json
Tipp
Es empfiehlt sich, Docker beim Testen großer Anwendungen mehr Ressourcen zuzuordnen. Klicken Sie hierzu auf das Docker-Symbol und anschließend auf Erweitert, um die Anzahl von Kernen und die Speichermenge anzupassen.
Starten Sie den Cluster.
Neueste:
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:latest
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
Es dauert einen Moment, bis der Cluster gestartet wird. Wenn er ausgeführt wird, können Sie 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
Zum Anhalten und Bereinigen des Containers verwenden Sie den folgenden Befehl. Sie verwenden diesen Container jedoch im nächsten Schritt.
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.
Einrichten der Service Fabric-Befehlszeilenschnittstelle (sfctl) auf Ihrem Mac
Befolgen Sie die Anweisungen unter Service Fabric-Befehlszeilenschnittstelle, um die Service Fabric-Befehlszeilenschnittstelle (sfctl
) auf Ihrem Mac zu installieren.
Die Befehle der Befehlszeilenschnittstelle unterstützen die Interaktion mit Service Fabric-Entitäten wie Clustern, Anwendungen und Diensten.
- Führen Sie den folgenden Befehl aus, um vor dem Bereitstellen von Anwendungen eine Verbindung mit dem Cluster herzustellen.
sfctl cluster select --endpoint http://localhost:19080
Erstellen einer Anwendung auf Ihrem Mac mit Yeoman
Die Gerüstbautools von Service Fabric unterstützen Sie beim Erstellen einer Service Fabric-Anwendung über das Terminal unter Verwendung des Yeoman-Vorlagengenerators. Führen Sie die folgenden Schritte aus, um sicherzustellen, dass der Service Fabric-Yeoman-Vorlagengenerator auf dem Computer verwendet werden kann:
Node.js und Node Package Manager müssen auf dem Mac installiert sein. Die Software kann wie folgt mithilfe von HomeBrew installiert werden:
brew install node node -v npm -v
Installieren Sie über Node Package Manager den Yeoman-Vorlagengenerator auf dem Computer:
npm install -g yo
Installieren Sie den gewünschten Yeoman-Generator gemäß der Anleitung in der Dokumentation zu den ersten Schritten. Führen Sie zum Erstellen von Service Fabric-Anwendungen mit Yeoman die folgenden Schritte aus:
npm install -g generator-azuresfjava # for Service Fabric Java Applications npm install -g generator-azuresfguest # for Service Fabric Guest executables npm install -g generator-azuresfcontainer # for Service Fabric Container Applications
Erstellen Sie nach der Installation der Generatoren ausführbare Gastdateien oder Containerdienste, indem Sie
yo azuresfguest
bzw.yo azuresfcontainer
ausführen.Zur Erstellung einer Service Fabric-Java-Anwendung auf einem Mac müssen JDK 1.8 und Gradle auf dem Hostcomputer installiert sein. Die Software kann wie folgt mithilfe von HomeBrew installiert werden:
brew update brew cask install java brew install gradle
Wichtig
Aktuelle Versionen von
brew cask install java
installieren ggf. eine neuere Version des JDK. Stellen Sie sicher, dass Sie JDK 8 installieren.
Bereitstellen der Anwendung auf Ihrem Mac über das Terminal
Nachdem Sie Ihre Service Fabric-Anwendung erstellt und den Buildvorgang durchgeführt haben, können Sie sie mithilfe der Service Fabric-Befehlszeilenschnittstelle bereitstellen:
Stellen Sie eine Verbindung mit dem Service Fabric-Cluster her, der unter der Containerinstanz auf Ihrem Mac ausgeführt wird:
sfctl cluster select --endpoint http://localhost:19080
Führen Sie in Ihrem Projektverzeichnis das Installationsskript aus:
cd MyProject bash install.sh
Einrichten der .NET Core 3.1-Entwicklung
Installieren Sie das .NET Core 3.1 SDK für Mac, um mit dem Erstellen von Service Fabric-C#-Anwendungen zu beginnen. Pakete für Service Fabric-Anwendungen mit .NET Core werden auf NuGet.org gehostet.
Installieren des Service Fabric-Plug-Ins für Eclipse auf Ihrem Mac
Azure Service Fabric stellt ein Plug-In für Eclipse Neon (oder höher) für die Java-IDE bereit. Das Plug-In vereinfacht den Prozess der Erstellung und Bereitstellung von Java-Diensten. Führen Sie diese Schritte aus, um das Service Fabric-Plug-In für Eclipse zu installieren oder auf die aktuelle Version zu aktualisieren. Die anderen Schritte unter Service Fabric-Plug-In für die Entwicklung von Eclipse-Java-Anwendungen gelten ebenfalls: Erstellen einer Anwendung, Hinzufügen eines Diensts zu einer Anwendung, Deinstallieren einer Anwendung usw.
Der letzte Schritt besteht im Instanziieren des Containers mit einem Pfad, der mit Ihrem Host gemeinsam verwendet wird. Für das Plug-In ist diese Art der Instanziierung erforderlich, damit es mit dem Docker-Container auf Ihrem Mac verwendet werden kann. Beispiel:
docker run -itd -p 19080:19080 -v /Users/sayantan/work/workspaces/mySFWorkspace:/tmp/mySFWorkspace --name sfonebox mcr.microsoft.com/service-fabric/onebox:latest
Die Attribute sind wie folgt definiert:
/Users/sayantan/work/workspaces/mySFWorkspace
ist der vollqualifizierte Pfad des Arbeitsbereichs auf Ihrem Mac./tmp/mySFWorkspace
ist der Pfad innerhalb des Containers, dem der Arbeitsbereich zugeordnet werden soll.
Hinweis
Wenn Ihr Name/Pfad für den Arbeitsbereich anders lautet, aktualisieren Sie diese Werte im Befehl docker run
.
Falls Sie den Container mit einem anderen Namen als sfonebox
starten, sollten Sie den Wert des Namens in der Datei „testclient.sh“ in Ihrer Service Fabric Actor-Java-Anwendung aktualisieren.
Nächste Schritte
- Erstellen und Bereitstellen Ihrer ersten Service Fabric-Java-Anwendung unter Linux mithilfe von Yeoman
- Erstellen und Bereitstellen Ihrer ersten Service Fabric-Java-Anwendung unter Linux mithilfe des Service Fabric-Plug-Ins für Eclipse
- Erstellen eines Service Fabric-Clusters in Azure über das Azure-Portal
- Erstellen eines Service Fabric-Clusters in Azure mithilfe von Azure Resource Manager
- Modellieren von Anwendungen in Service Fabric
- Verwalten von Anwendungen mit der Service Fabric-Befehlszeilenschnittstelle
- Vorbereiten einer Linux-Entwicklungsumgebung unter Windows