Configurazione di un cluster Linux di Service Fabric sul computer di sviluppo Windows
Il presente documento illustra come configurare un cluster Linux di Service Fabric locale in un computer di sviluppo Windows. La configurazione di un cluster Linux è utile per testare rapidamente le applicazioni di destinazione per i cluster Linux che sono però sviluppate su un computer Windows.
Prerequisiti
I cluster di Service Fabric basati su Linux non vengono eseguiti in Windows, pertanto per permettere la creazione di prototipi multipiattaforma è stato fornito un contenitore Docker one-box del cluster Linux di Service Fabric, che può essere distribuito tramite Docker per Windows.
Prima di iniziare, sono necessari:
- Almeno 4 GB di RAM
- Versione più recente di Docker per Windows
- Docker deve essere in esecuzione in modalità contenitori Linux
Suggerimento
Per installare Docker nel computer Windows, seguire la procedura descritta nella documentazione di Docker. Al termine, verificare l'installazione.
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 il codice seguente e riavviare il daemon Docker:
{ "ipv6": true, "fixed-cidr-v6": "2001:db8:1::/64" }
Il modo consigliato per eseguire l'aggiornamento consiste nel passare a:
- Icona Docker > Impostazioni > Motore Docker
- Aggiungere i nuovi campi elencati in precedenza
- Applicare e riavviare - Riavviare il daemon Docker per rendere effettive le modifiche.
Avviare il cluster tramite PowerShell.
Ubuntu 20.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:u20
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 compilare 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
Il cluster richiederà poco tempo per l'avvio. È possibile visualizzare i log usando il comando seguente o passare al dashboard per visualizzare l'integrità del cluster
http://localhost:19080
:docker logs sftestcluster
Dopo la corretta distribuzione del cluster descritta nel passaggio 4, è possibile passare
http://localhost:19080
dal computer Windows per trovare il dashboard di Service Fabric Explorer. A questo punto, è possibile connettersi a questo cluster usando gli strumenti del computer di sviluppo Windows e distribuire le applicazioni destinate ai cluster Linux di Service Fabric.Nota
Il plug-in per Eclipse non è attualmente supportato in Windows.
Al termine, arrestare e pulire il contenitore con questo comando:
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.
Passaggi successivi
- Configurare un cluster Linux in Windows tramite WSL2
- Creare e distribuire la prima applicazione Java di Service Fabric in Linux usando Yeoman
- Introduzione a Eclipse
- Fare riferimento ad altri esempi di Java
- Informazioni sulle opzioni di supporto di Service Fabric