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 er een vooraf geconfigureerde Docker-containerinstallatiekopieën geleverd. Voordat u aan de slag gaat, hebt u het volgende nodig:
De systeemvereisten voor het installeren van Docker Desktop op Mac
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:
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 daemon-configuratie-instellingen rechtstreeks wijzigen in Docker. Selecteer de Docker-pictogram, en selecteer vervolgens voorkeuren>Daemon>Geavanceerd.
Notitie
Het rechtstreeks wijzigen van de daemon in Docker wordt aanbevolen omdat de locatie van het daemon.json-bestand kan variëren van computer tot machine. 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.
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 naar 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 maken vanuit de
Dockerfile
, opent u een terminal encd
naar de map waarin uDockerfile
de volgende opdracht 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 voordat het cluster wordt gestart. Wanneer deze wordt uitgevoerd, kunt u logboeken weergeven met behulp van de volgende opdracht of naar het dashboard gaan om de status van de clusters weer te geven:
http://localhost:19080
docker logs sftestcluster
Gebruik de volgende opdracht om de container te stoppen en op te schonen. In de volgende stap gebruiken we deze container echter.
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.
- 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:
Node.js en Node Pakketbeheer moeten op uw Mac zijn geïnstalleerd. De software kan worden geïnstalleerd met behulp van HomeBrew, als volgt:
brew install node node -v npm -v
Installeer de Yeoman-sjabloongenerator op uw computer vanuit Node Pakketbeheer:
npm install -g yo
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
Nadat u de generatoren hebt geïnstalleerd, kunt u uitvoerbare gastbestanden of containerservices maken door respectievelijk
yo azuresfguest
ofyo azuresfcontainer
uit te voeren.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
De huidige versies van
brew cask install java
deze versie 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:
Maak verbinding met het Service Fabric-cluster dat wordt uitgevoerd binnen de containerinstantie op uw Mac:
sfctl cluster select --endpoint http://localhost:19080
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 C# Service Fabric-toepassingen te maken. 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. Voorbeeld:
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/mySFWorkspace
is het volledig gekwalificeerde pad van de werkruimte op uw Mac./tmp/mySFWorkspace
is 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
- Uw eerste Service Fabric Java-toepassing in Linux maken en implementeren met behulp van Yeoman
- Uw eerste Service Fabric Java-toepassing op Linux maken en implementeren met behulp van de Service Fabric-invoegtoepassing voor Eclipse
- Een Service Fabric-cluster maken in Azure Portal
- Een Service Fabric-cluster maken met behulp van de Azure Resource Manager
- Inzicht krijgen in het Service Fabric-toepassingsmodel
- De Service Fabric-CLI gebruiken voor het beheren van uw toepassingen
- Een Linux-ontwikkelomgeving voorbereiden in Windows