Configurare l'ambiente di sviluppo in Mac OS X
È possibile compilare le applicazioni di Azure Service Fabric da eseguire in cluster Linux con Mac OS X. Questo documento illustra come configurare il computer Mac per lo sviluppo.
Prerequisiti
Azure Service Fabric non viene eseguito in modo nativo in Mac OS X. Per eseguire un cluster di Service Fabric locale, viene fornita un'immagine preconfigurata del contenitore Docker. Prima di iniziare, è necessario soddisfare questi requisiti:
Requisiti di sistema per l'installazione di Docker Desktop in Mac
Suggerimento
Per installare Docker nel computer Mac, è possibile seguire la procedura descritta nella documentazione di Docker. Dopo l'installazione, è possibile usare Docker Desktop per impostare le preferenze, inclusi i limiti delle risorse e l’utilizzo del disco.
Creare un contenitore locale e configurare Service Fabric
Per configurare un contenitore Docker locale ed eseguirvi un cluster di Service Fabric, seguire questa procedura:
Aggiornare la configurazione del daemon Docker nell'host con le impostazioni seguenti e riavviare il daemon Docker:
{ "ipv6": true, "fixed-cidr-v6": "fd00::/64" }
È possibile aggiornare queste impostazioni direttamente nel file daemon.json nel percorso di installazione di Docker. È possibile modificare direttamente le impostazioni di configurazione del daemon in Docker. Selezionare l'icona Docker e quindi selezionare Preferences (Preferenze)>Daemon>Advanced (Avanzate).
Nota
È consigliabile modificare il daemon direttamente in Docker perché il percorso del file daemon.JSON può variare da computer a computer. ad esempio ~/Library/Containers/com.docker.docker/Data/database/com.docker.driver.amd64-linux/etc/docker/daemon.json.
Suggerimento
È consigliabile aumentare le risorse allocate per Docker durante il test di applicazioni di grandi dimensioni. Questa operazione può essere eseguita selezionando l'icona Docker, quindi selezionando Advanced (Avanzate) per modificare il numero di core e la quantità di memoria.
Avviare il cluster.
Più recente:
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
Suggerimento
Per impostazione predefinita, verrà eseguito il pull dell'immagine con la versione più recente di Service Fabric. Per revisioni specifiche, vedere la pagina Onebox di Service Fabric in Docker Hub.
Facoltativo: compilare l'immagine estesa di Service Fabric.
In una nuova directory creare un file denominato
Dockerfile
per compilare l'immagine personalizzata:Nota
È possibile adattare l'immagine precedente con un Dockerfile per aggiungere altri programmi o dipendenze nel contenitore. Ad esempio, se si aggiunge
RUN apt-get install nodejs -y
sarà possibile supportare le applicazioninodejs
come eseguibili guest.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"]
Suggerimento
Per impostazione predefinita, verrà eseguito il pull dell'immagine con la versione più recente di Service Fabric. Per revisioni specifiche, vedere la pagina dell'hub Docker.
Per creare un'immagine riutilizzabile da
Dockerfile
aprire un terminale ecd
in corrispondenza della directory che contieneDockerfile
e quindi eseguire:docker build -t mysfcluster .
Nota
Questa operazione richiederà del tempo, ma è necessaria eseguirla solo una volta.
Ora è possibile avviare rapidamente una copia locale di Service Fabric, quando necessario, eseguendo:
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
Suggerimento
Specificare un nome per l'istanza del contenitore per poterla gestire in modo più leggibile.
Se l'applicazione è in ascolto su determinate porte, le porte devono essere specificate usando tag
-p
aggiuntivi. Se ad esempio l'applicazione è in ascolto sulla porta 8080, aggiungere il tag-p
seguente:docker run -itd -p 19000:19000 -p 19080:19080 -p 8080:8080 --name sfonebox mcr.microsoft.com/service-fabric/onebox:u18
L'avvio del cluster richiederà qualche minuto. Quando è in esecuzione, è possibile visualizzare i log usando il comando seguente o passare al dashboard per visualizzare l'integrità del cluster:
http://localhost:19080
docker logs sftestcluster
Per arrestare e pulire il contenitore, usare il comando seguente. Tuttavia, questo contenitore verrà usato nel passaggio successivo.
docker rm -f sftestcluster
Limitazioni note
Le seguenti sono limitazioni note del cluster locale eseguito in un contenitore per Mac:
- Il servizio DNS non viene eseguito e non è attualmente supportato all'interno del contenitore. Problema 132
- L'esecuzione di app basate su contenitori richiede l'esecuzione di Service Fabric in un host Linux. Le applicazioni contenitore annidate non sono attualmente supportate.
Configurare l'interfaccia della riga di comando di Service Fabric (sfctl) in un computer Mac
Per installare l'interfaccia della riga di comando di Service Fabric (sfctl
) in un computer Mac, seguire le istruzioni riportate in Interfaccia della riga di comando di Azure Service Fabric.
I comandi dell'interfaccia della riga di comando supportano l'interazione con entità di Service Fabric come cluster, applicazioni e servizi.
- Eseguire questo comando per connettersi al cluster prima di distribuire le applicazioni.
sfctl cluster select --endpoint http://localhost:19080
Creare l'applicazione in un computer Mac usando Yeoman
Service Fabric fornisce strumenti di scaffolding che consentono di creare un'applicazione di Service Fabric dal terminale usando il generatore di modelli Yeoman. Usare la procedura seguente per assicurarsi che nel computer sia disponibile il generatore di modelli Yeoman di Service Fabric:
Node.js e Node Package Manager devono essere installati nel Mac. Il software può essere installato usando HomeBrew, come segue:
brew install node node -v npm -v
Installare il generatore di modelli Yeoman nel computer da Node Package Manager:
npm install -g yo
Installare il generatore Yeoman preferito seguendo la procedura disponibile nella documentazione introduttiva. Per creare applicazioni di Service Fabric con Yeoman, seguire questa procedura:
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
Al termine dell'installazione dei generatori, creare i servizi contenitore o eseguibili guest eseguendo rispettivamente
yo azuresfcontainer
oyo azuresfguest
.Per compilare un'applicazione Java di Service Fabric nel computer Mac, JDK versione 1.8 e Gradle devono essere installati nel computer host. Il software può essere installato usando HomeBrew, come segue:
brew update brew cask install java brew install gradle
Importante
È possibile che le versioni correnti di
brew cask install java
installino una versione più recente di JDK. Assicurarsi di installare JDK 8.
Distribuire l'applicazione nel computer Mac dal terminale
Dopo aver creato e compilato l'applicazione di Service Fabric, è possibile distribuirla con l'interfaccia della riga di comando di Service Fabric:
Connettersi al cluster di Service Fabric in esecuzione nell'istanza del contenitore nel computer Mac:
sfctl cluster select --endpoint http://localhost:19080
Dalla directory di progetto eseguire lo script di installazione:
cd MyProject bash install.sh
Configurare lo sviluppo di .NET Core 3.1
Installare l’SDK .NET Core 3.1 per Mac per avviare la creazione di applicazioni C# di Service Fabric. I pacchetti per le applicazioni .NET Core di Service Fabric sono ospitati in NuGet.org.
Installare il plug-in Service Fabric per Eclipse nel computer Mac
Azure Service Fabric fornisce un plug-in per Eclipse Neon (o versione successiva) per l'ambiente IDE Java. Il plug-in semplifica il processo di creazione, compilazione e distribuzione di servizi Java. Per installare o aggiornare il plug-in Service Fabric per Eclipse alla versione più recente, seguire questa procedura. Sono applicabili anche gli altri passaggi della documentazione di Service Fabric per Eclipse: compilare un'applicazione, aggiungere un servizio a un'applicazione, disinstallare un'applicazione e così via.
L'ultimo passaggio prevede la creazione di un'istanza del contenitore con un percorso condiviso con l'host. Il plug-in richiede che questo tipo di creazione di istanza usi il contenitore Docker nel Mac, Ad esempio:
docker run -itd -p 19080:19080 -v /Users/sayantan/work/workspaces/mySFWorkspace:/tmp/mySFWorkspace --name sfonebox mcr.microsoft.com/service-fabric/onebox:latest
Gli attributi sono definiti come segue:
/Users/sayantan/work/workspaces/mySFWorkspace
è il percorso completo dell'area di lavoro nel Mac./tmp/mySFWorkspace
è il percorso all'interno del contenitore a cui eseguire il mapping dell'area di lavoro.
Nota
Se l'area di lavoro ha un nome/percorso diverso, aggiornare questi valori nel comando docker run
.
Se si avvia il contenitore con un nome diverso da sfonebox
, aggiornare il valore del nome nel file testclient.sh nell'applicazione Java di Service Fabric Actors.
Passaggi successivi
- Creare e distribuire la prima applicazione Java di Service Fabric in Linux usando Yeoman
- Creare e distribuire la prima applicazione Java di Service Fabric in Linux usando il plug-in Service Fabric per Eclipse
- Creare un cluster di Service Fabric nel portale di Azure
- Creare un cluster di Service Fabric usando Azure Resource Manager
- Informazioni sul modello applicativo di Service Fabric
- Usare l'interfaccia della riga di comando di Service Fabric per gestire le applicazioni
- Prepare a Linux development environment on Windows (Preparare un ambiente di sviluppo Linux in Windows)