Einrichten Ihrer Entwicklungsumgebung unter Mac OS XSet up your development environment on Mac OS X

Sie können Azure Service Fabric-Anwendungen für die Ausführung in Linux-Clustern unter Mac OS X erstellen. In diesem Dokument erfahren Sie, wie Sie Ihren Mac für die Entwicklung einrichten.You can build Azure Service Fabric applications to run on Linux clusters by using Mac OS X. This document covers how to set up your Mac for development.

VoraussetzungenPrerequisites

Azure Service Fabric wird nicht nativ unter Mac OS X ausgeführt. Für die Ausführung eines lokalen Service Fabric-Clusters wird ein vorkonfiguriertes Docker-Containerimage bereitgestellt.Azure Service Fabric doesn't run natively on Mac OS X. To run a local Service Fabric cluster, a pre-configured Docker container image is provided. Bevor Sie beginnen, benötigen Sie Folgendes:Before you get started, you need:

  • Mindestens 4 GB RAMAt least 4 GB of RAM.
  • Neueste Version von DockerThe latest version of Docker.

Tipp

Führen Sie die Schritte in der Docker-Dokumentation aus, um Docker auf Ihrem Mac zu installieren.To install Docker on your Mac, follow the steps in the Docker documentation. Überprüfen Sie anschließend die Installation.After installing, verify your installation.

Erstellen eines lokalen Containers und Einrichten von Service FabricCreate a local container and set up Service Fabric

Führen Sie die folgenden Schritte aus, um einen lokalen Docker-Container einzurichten und darin einen Service Fabric-Cluster auszuführen:To set up a local Docker container and have a Service Fabric cluster running on it, perform the following steps:

  1. Aktualisieren Sie die Konfiguration des Docker-Daemons auf dem Host mit den folgenden Einstellungen, und starten Sie den Docker-Daemon neu:Update the Docker daemon configuration on your host with the following settings and restart the Docker daemon:

    {
        "ipv6": true,
        "fixed-cidr-v6": "fd00::/64"
    }
    

    Sie können diese Einstellungen direkt in der Datei „daemon.json“ im Docker-Installationspfad aktualisieren.You can update these settings directly in the daemon.json file in your Docker installation path. Sie können die Daemon-Konfigurationseinstellungen direkt in Docker ändern.You can directly modify the daemon configuration settings in Docker. Klicken Sie auf das Docker-Symbol und anschließend auf Einstellungen > Daemon > Erweitert.Select the Docker icon, and then select Preferences > Daemon > Advanced.

    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.Modifying the daemon directly in Docker is recommended because the location of the daemon.json file can vary from machine to machine. Beispiel: ~/Library/Containers/com.docker.docker/Data/database/com.docker.driver.amd64-linux/etc/docker/daemon.jsonFor example, ~/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.We recommend increasing the resources allocated to Docker when testing large applications. Klicken Sie hierzu auf das Docker-Symbol und anschließend auf Erweitert, um die Anzahl von Kernen und die Speichermenge anzupassen.This can be done by selecting the Docker Icon, then selecting Advanced to adjust the number of cores and memory.

  2. Erstellen Sie zur Erstellung Ihres Service Fabric-Images eine Datei namens Dockerfile in einem neuen Verzeichnis:In a new directory create a file called Dockerfile to build your Service Fabric Image:

    FROM microsoft/service-fabric-onebox
    WORKDIR /home/ClusterDeployer
    RUN ./setup.sh
    #Generate the local
    RUN locale-gen en_US.UTF-8
    #Set environment variables
    ENV LANG=en_US.UTF-8
    ENV LANGUAGE=en_US:en
    ENV LC_ALL=en_US.UTF-8
    EXPOSE 19080 19000 80 443
    #Start SSH before running the cluster
    CMD /etc/init.d/ssh start && ./run.sh
    

    Hinweis

    Sie können diese Datei anpassen, um in Ihrem Container weitere Programme oder Abhängigkeiten hinzuzufügen.You can adapt this file to add additional programs or dependencies into your container. Wenn Sie beispielsweise RUN apt-get install nodejs -y hinzufügen, können Anwendungen vom Typ nodejs als ausführbare Gastdateien unterstützt werden.For example, adding RUN apt-get install nodejs -y will allow support for nodejs applications as guest executables.

    Tipp

    Standardmäßig wird dann das Image mit der aktuellen Version von Service Fabric per Pullvorgang bereitgestellt.By default, this will pull the image with the latest version of Service Fabric. Bestimmte Revisionen finden Sie auf der Seite Docker Hub.For particular revisions, please visit the Docker Hub page

  3. Öffnen Sie ein Terminal, wechseln Sie per cd zum Verzeichnis mit Ihrer Datei vom Typ Dockerfile, und führen Sie anschließend Folgendes aus, um Ihr wiederverwendbares Images auf der Grundlage der Datei vom Typ Dockerfile zu erstellen:To build your reusable image from the Dockerfile open a terminal and cd to the directly holding your Dockerfile then run:

    docker build -t mysfcluster .
    

    Hinweis

    Dieser Vorgang dauert etwas, muss jedoch nur einmal ausgeführt werden.This operation will take some time but is only needed once.

  4. Nun können Sie bei Bedarf schnell eine lokale Kopie von Service Fabric starten, indem Sie Folgendes ausführen:Now you can quickly start a local copy of Service Fabric, whenever you need it, by running:

    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.Provide a name for your container instance so it can be handled in a more readable manner.

    Wenn Ihre Anwendung an bestimmten Ports lauscht, müssen diese mit zusätzlichen Tags vom Typ -p angegeben werden.If your application is listening on certain ports, the ports must be specified by using additional -p tags. Beispiel: Wenn Ihre Anwendung an Port 8080 lauscht, fügen Sie das folgende -p-Tag hinzu:For example, if your application is listening on port 8080, add the following -p tag:

    docker run -itd -p 19080:19080 -p 8080:8080 --name sfonebox microsoft/service-fabric-onebox

  5. Es dauert einen Moment, bis der Cluster gestartet wird.The cluster will take a moment to start. 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):When it is running, you can view logs using the following command or jump to the dashboard to view the clusters health http://localhost:19080:

    docker logs sftestcluster
    
  6. Zum Anhalten und Bereinigen des Containers verwenden Sie den folgenden Befehl.To stop and cleanup the container, use the following command. Sie verwenden diesen Container jedoch im nächsten Schritt.However, we will be using this container in the next step.

    docker rm -f sftestcluster
    

Bekannte EinschränkungenKnown Limitations

Für den lokalen Cluster in einem Container auf einem Mac sind folgende Einschränkungen bekannt:The following are known limitations of the local cluster running in a container for Mac's:

  • Der DNS-Dienst wird nicht ausgeführt und nicht unterstützt. (Problem 132)DNS service does not run and is not supported Issue #132

Einrichten der Service Fabric-Befehlszeilenschnittstelle (sfctl) auf Ihrem MacSet up the Service Fabric CLI (sfctl) on your Mac

Befolgen Sie die Anweisungen unter Service Fabric-Befehlszeilenschnittstelle, um die Service Fabric-Befehlszeilenschnittstelle (sfctl) auf Ihrem Mac zu installieren.Follow the instructions at Service Fabric CLI to install the Service Fabric CLI (sfctl) on your Mac. Die Befehle der Befehlszeilenschnittstelle unterstützen die Interaktion mit Service Fabric-Entitäten wie Clustern, Anwendungen und Diensten.The CLI commands support interacting with Service Fabric entities, including clusters, applications, and services.

  1. Führen Sie den folgenden Befehl aus, um vor dem Bereitstellen von Anwendungen eine Verbindung mit dem Cluster herzustellen.To connect to the cluster before deploying applications run the command below.
sfctl cluster select --endpoint http://localhost:19080

Erstellen einer Anwendung auf Ihrem Mac mit YeomanCreate your application on your Mac by using Yeoman

Die Gerüstbautools von Service Fabric unterstützen Sie beim Erstellen einer Service Fabric-Anwendung über das Terminal unter Verwendung des Yeoman-Vorlagengenerators.Service Fabric provides scaffolding tools that help you to create a Service Fabric application from the terminal by using the Yeoman template generator. Führen Sie die folgenden Schritte aus, um sicherzustellen, dass der Service Fabric-Yeoman-Vorlagengenerator auf dem Computer verwendet werden kann:Use the following steps to ensure that the Service Fabric Yeoman template generator is working on your machine:

  1. Node.js und Node Package Manager (NPM) müssen auf dem Mac installiert sein.Node.js and Node Package Manager (NPM) must be installed on your Mac. Die Software kann wie folgt mithilfe von HomeBrew installiert werden:The software can be installed by using HomeBrew, as follows:

    brew install node
    node -v
    npm -v
    
  2. Installieren Sie den Yeoman-Vorlagengenerator auf dem Computer über NPM:Install the Yeoman template generator on your machine from NPM:

    npm install -g yo
    
  3. Installieren Sie den gewünschten Yeoman-Generator gemäß der Anleitung in der Dokumentation zu den ersten Schritten.Install the Yeoman generator that you prefer by following the steps in the getting started documentation. Führen Sie zum Erstellen von Service Fabric-Anwendungen mit Yeoman die folgenden Schritte aus:To create Service Fabric applications by using Yeoman, follow these steps:

    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
    
  4. Erstellen Sie nach der Installation der Generatoren ausführbare Gastdateien oder Containerdienste, indem Sie yo azuresfguest bzw. yo azuresfcontainer ausführen.After you install the generators, create guest executable or container services by running yo azuresfguest or yo azuresfcontainer, respectively.

  5. Zur Erstellung einer Service Fabric-Java-Anwendung auf einem Mac müssen JDK 1.8 und Gradle auf dem Hostcomputer installiert sein.To build a Service Fabric Java application on your Mac, JDK version 1.8 and Gradle must be installed on the host machine. Die Software kann wie folgt mithilfe von HomeBrew installiert werden:The software can be installed by using HomeBrew, as follows:

    brew update
    brew cask install java
    brew install gradle
    

    Wichtig

    Aktuelle Versionen von brew cask install java installieren ggf. eine neuere Version des JDK.Current versions of brew cask install java may install a more recent version of the JDK. Stellen Sie sicher, dass Sie JDK 8 installieren.Be sure to install JDK 8.

Bereitstellen der Anwendung auf Ihrem Mac über das TerminalDeploy your application on your Mac from the terminal

Nachdem Sie Ihre Service Fabric-Anwendung erstellt und den Buildvorgang durchgeführt haben, können Sie sie mithilfe der Service Fabric-Befehlszeilenschnittstelle bereitstellen:After you create and build your Service Fabric application, you can deploy your application by using the Service Fabric CLI:

  1. Stellen Sie eine Verbindung mit dem Service Fabric-Cluster her, der unter der Containerinstanz auf Ihrem Mac ausgeführt wird:Connect to the Service Fabric cluster that is running inside the container instance on your Mac:

    sfctl cluster select --endpoint http://localhost:19080
    
  2. Führen Sie in Ihrem Projektverzeichnis das Installationsskript aus:From inside your project directory, run the install script:

    cd MyProject
    bash install.sh
    

Einrichten der .NET Core 2.0-EntwicklungSet up .NET Core 2.0 development

Installieren Sie das .NET Core 2.0 SDK für Mac, um mit dem Erstellen von Service Fabric-C#-Anwendungen zu beginnen.Install the .NET Core 2.0 SDK for Mac to start creating C# Service Fabric applications. Pakete für Service Fabric-Anwendungen mit .NET Core 2.0 werden auf NuGet.org gehostet (derzeit in der Vorschauphase).Packages for .NET Core 2.0 Service Fabric applications are hosted on NuGet.org, which is currently in preview.

Installieren des Service Fabric-Plug-Ins für Eclipse auf Ihrem MacInstall the Service Fabric plug-in for Eclipse on your Mac

Azure Service Fabric stellt ein Plug-In für Eclipse Neon (oder höher) für die Java-IDE bereit.Azure Service Fabric provides a plug-in for Eclipse Neon (or later) for the Java IDE. Das Plug-In vereinfacht den Prozess der Erstellung und Bereitstellung von Java-Diensten.The plug-in simplifies the process of creating, building, and deploying Java services. Führen Sie diese Schritte aus, um das Service Fabric-Plug-In für Eclipse zu installieren oder auf die aktuelle Version zu aktualisieren.To install or update the Service Fabric plug-in for Eclipse to the latest version, follow these steps. 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.The other steps in the Service Fabric for Eclipse documentation are also applicable: build an application, add a service to an application, uninstall an application, and so on.

Der letzte Schritt besteht im Instanziieren des Containers mit einem Pfad, der mit Ihrem Host gemeinsam verwendet wird.The last step is to instantiate the container with a path that is shared with your host. Für das Plug-In ist diese Art der Instanziierung erforderlich, damit es mit dem Docker-Container auf Ihrem Mac verwendet werden kann.The plug-in requires this type of instantiation to work with the Docker container on your Mac. Beispiel:For example:

docker run -itd -p 19080:19080 -v /Users/sayantan/work/workspaces/mySFWorkspace:/tmp/mySFWorkspace --name sfonebox microsoft/service-fabric-onebox

Die Attribute sind wie folgt definiert:The attributes are defined as follows:

  • /Users/sayantan/work/workspaces/mySFWorkspace ist der vollqualifizierte Pfad des Arbeitsbereichs auf Ihrem Mac./Users/sayantan/work/workspaces/mySFWorkspace is the fully qualified path of the workspace on your Mac.
  • /tmp/mySFWorkspace ist der Pfad innerhalb des Containers, dem der Arbeitsbereich zugeordnet werden soll./tmp/mySFWorkspace is the path that is inside of the container to where the workspace should be mapped.

Hinweis

Wenn Ihr Name/Pfad für den Arbeitsbereich anders lautet, aktualisieren Sie diese Werte im Befehl docker run.If you have a different name/path for your workspace, update these values in the docker run command.

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.If you start the container with a name other than sfonebox, update the name value in the testclient.sh file in your Service Fabric actor Java application.

Nächste SchritteNext steps