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:

  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
    • Applicare e riavviare - Riavviare 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 in Docker Hub.

  3. 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 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 un'immagine riutilizzabile da Dockerfile aprire un terminale e cd in corrispondenza della directory che contiene Dockerfile 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

  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 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.

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

Passaggi successivi