Uw ontwikkelomgeving instellen op macOS X

U kunt Azure Service Fabric-toepassingen bouwen om te worden uitgevoerd op Linux-clusters met behulp van macOS X. In dit document wordt beschreven hoe u uw Mac instelt voor ontwikkeling.

Vereisten

Azure Service Fabric wordt niet systeemeigen uitgevoerd op macOS X. Als u een lokaal Service Fabric-cluster wilt uitvoeren, wordt een vooraf geconfigureerde Docker-containerinstallatiekopieën geleverd. Voordat u aan de slag gaat, hebt u het volgende nodig:

Tip

Volg de stappen in de officiële Docker-documentatie om Docker te installeren op uw Mac. Na de installatie kunt u Docker Desktop gebruiken om voorkeuren in te stellen, waaronder resourcelimieten en schijfgebruik.

Een lokale container maken en Service Fabric configureren

Als u een lokale Docker-container wilt instellen en daarop een Service Fabric-cluster wilt uitvoeren, voert u de volgende stappen uit:

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

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

    U kunt deze instellingen rechtstreeks in het bestand daemon.json in uw Docker-installatiepad bijwerken. U kunt de daemonconfiguratie-instellingen rechtstreeks wijzigen in Docker. Selecteer de Docker-pictogram, en selecteer vervolgens voorkeuren>Daemon>Geavanceerd.

    Notitie

    Het wordt aanbevolen de daemon rechtstreeks in Docker te wijzigen, omdat de locatie van het bestand daemon.json per machine kan verschillen. Bijvoorbeeld, ~/Library/Containers/com.docker.docker/Data/database/com.docker.driver.amd64-linux/etc/docker/daemon.json.

    Tip

    U wordt aangeraden tijdens het testen van grote toepassingen de resources te verhogen die aan Docker zijn toegewezen. U kunt dit doen door het Docker-pictogram te selecteren en vervolgens Geavanceerd om het aantal kernen en het geheugen aan te passen.

  2. Start het cluster.

    Laatste:

    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
    

    Tip

    Standaard wordt hierdoor de installatiekopie met de nieuwste versie van Service Fabric opgehaald. Ga voor bepaalde revisies naar de Service Fabric Onebox-pagina op Docker Hub.

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

    Maak in een nieuwe map een bestand met de naam Dockerfile om uw 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 maken vanuit de Dockerfile, opent u een terminal en cd naar de map met uw Dockerfile en voert u het volgende uit:

    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 voordat het cluster is gestart. Wanneer het wordt uitgevoerd, kunt u logboeken weergeven met behulp van de volgende opdracht of naar het dashboard gaan om de status van het cluster weer te geven: http://localhost:19080

    docker logs sftestcluster
    
  5. Gebruik de volgende opdracht om de container te stoppen en op te schonen. We gebruiken deze container echter in de volgende stap.

    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.

De Service Fabric-CLI (sfctl) instellen op een Mac

Volg de instructies in Service Fabric-CLI als u de Service Fabric-CLI (sfctl) wilt installeren op een Mac. De CLI-opdrachten voor interactie met Service Fabric-entiteiten, inclusief clusters, toepassingen en services.

  1. Als u verbinding wilt maken met het cluster voordat u toepassingen wilt implementeren, voert u de onderstaande opdracht uit.
sfctl cluster select --endpoint http://localhost:19080

Een toepassingen maken op een Mac met Yeoman

Service Fabric biedt hulpprogramma's waarmee u vanuit de terminal een Service Fabric-toepassing kunt maken met behulp van de Yeoman-sjabloongenerator. Volg de volgende stappen om te controleren of de Yeoman-sjabloongenerator van Service Fabric werkt op uw computer:

  1. Node.js en Node Package Manager moeten zijn geïnstalleerd op uw Mac. De software kan worden geïnstalleerd met behulp van HomeBrew, als volgt:

    brew install node
    node -v
    npm -v
    
  2. Installeer de Yeoman-sjabloongenerator op uw computer vanuit Node Package Manager:

    npm install -g yo
    
  3. Installeer de Yeoman generator die u wilt gebruiken. Volg hiervoor de stappen in deze startdocumentatie. Volg deze stappen om Service Fabric-toepassingen te maken met behulp van Yeoman:

    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. Nadat u de generatoren hebt geïnstalleerd, kunt u uitvoerbare gastbestanden of containerservices maken door respectievelijk yo azuresfguest of yo azuresfcontainer uit te voeren.

  5. Als u een Service Fabric Java-toepassing wilt maken op een Mac, moeten JDK 1.8 en Gradle op de hostcomputer zijn geïnstalleerd. De software kan worden geïnstalleerd met behulp van HomeBrew, als volgt:

    brew update
    brew cask install java
    brew install gradle
    

    Belangrijk

    Huidige versies van brew cask install java kunnen een recentere versie van de JDK installeren. Zorg ervoor dat u JDK 8 installeert.

Toepassingen implementeren op uw Mac vanuit de terminal

Nadat u de Service Fabric-toepassing hebt gemaakt en gebouwd, kunt u de toepassing als volgt implementeren met Service Fabric CLI:

  1. Maak verbinding met het Service Fabric-cluster dat wordt uitgevoerd binnen de containerinstantie op uw Mac:

    sfctl cluster select --endpoint http://localhost:19080
    
  2. Ga naar de directory van uw project en voer het installatiescript uit:

    cd MyProject
    bash install.sh
    

.NET Core 3.1-ontwikkeling instellen

Installeer de .NET Core 3.1 SDK voor Mac om te beginnen met het maken van C# Service Fabric-toepassingen. Pakketten voor .NET Core Service Fabric-toepassingen worden gehost op NuGet.org.

De Service Fabric-invoegtoepassing installeren voor Eclipse op uw Mac

Azure Service Fabric biedt een invoegtoepassing voor Eclipse Neon (of later) voor de Java IDE. De invoegtoepassing vereenvoudigt het proces voor het maken en implementeren van Java-services. Als u de Service Fabric-invoegtoepassing voor Eclipse wilt installeren of bijwerken naar de nieuwste versie, volg deze stappen. De andere stappen in de Service Fabric voor Eclipse documentatie zijn ook van toepassing: maken van een toepassing, een service toevoegen aan een toepassing, een toepassing verwijderen, enzovoort.

De laatste stap is het instantiëren van de container met een pad dat wordt gedeeld met de host. De invoegtoepassing vereist dit soort instantiëring om te werken met de Docker-container op uw Mac. Bijvoorbeeld:

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

De kenmerken zijn als volgt gedefinieerd:

  • /Users/sayantan/work/workspaces/mySFWorkspaceis het volledig gekwalificeerde pad van de werkruimte op uw Mac.
  • /tmp/mySFWorkspaceis het pad in de container waarin de werkruimte moet worden toegewezen.

Notitie

Als u een andere naam-/ padgedeelte voor uw werkruimte hebt, pas deze waarden dan aan in de docker run opdracht.

Als u de container met een andere naam start dan sfonebox, werkt u de naam bij in het bestand testclient.sh in de Java-toepassing van uw Service Fabric-actor.

Volgende stappen