Configurazione di un cluster Linux di Service Fabric sul computer di sviluppo Windows

Questo documento illustra come configurare un cluster Linux 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, ma per abilitare la creazione di prototipi multipiattaforma è stato fornito un contenitore Docker del cluster Linux 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 e disporre di un cluster di Service Fabric in esecuzione, eseguire la procedura seguente:

  1. 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
    • Applica e riavvia: riavvia il daemon Docker per rendere effettive le modifiche.
  2. 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 nell'hub Docker.

  3. Facoltativo: creare 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 applicazioni nodejs 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 l'immagine riutilizzabile da Dockerfile, aprire un terminale e cd nell'oggetto che contiene Dockerfile direttamente l'esecuzione:

    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 ogni volta che è necessaria 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

  4. 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
    
  5. Dopo che il cluster è stato distribuito correttamente come osservato 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 strumenti dal computer per sviluppatori Windows e distribuire applicazioni destinate ai cluster Linux di Service Fabric.

    Nota

    Il plug-in per Eclipse non è attualmente supportato in Windows.

  6. 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 SF in un host Linux. Le applicazioni contenitore annidate non sono attualmente supportate.

Passaggi successivi