Condividi tramite


Configurare un cluster Linux di Service Fabric nel computer di sviluppo Windows tramite WSL2

Il presente documento illustra come configurare un cluster Linux di Service Fabric locale in un computer di sviluppo Windows tramite WSL2. 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 direttamente in Windows. Pertanto, per abilitare la creazione di prototipi multipiattaforma è stato fornito un modo per distribuire il cluster di Service Fabric all'interno della distribuzione Linux tramite WSL2 (sottosistema Windows per Linux) per Windows.

Prima di iniziare, sono necessari:

  • Configurare WSL2 in Windows e assicurarsi che WSL2 sia la versione predefinita
  • Configurare la distribuzione Linux Ubuntu 18.04 da Microsoft Store durante la configurazione di WSL2

Suggerimento

Per installare WSL2 nel computer Windows, seguire i passaggi descritti nella documentazione di WSL. Dopo l'installazione, assicurarsi che l'installazione di Ubuntu-18.04 sia la distribuzione predefinita e che sia in esecuzione.

Configurare l’SDK di Service Fabric all'interno della distribuzione Linux

L'installazione di Service Fabric non può essere eseguita nella distribuzione Linux WSL2 come viene eseguita nel sistema operativo Linux standard. Poiché systemd come PID1 non è in esecuzione all'interno della macchina virtuale e systemd come PID1 è un prerequisito per il corretto funzionamento dell’SDK di Service Fabric. Per abilitare systemd come PID1, viene usato systemd-genie come soluzione alternativa. Per altre informazioni su systemd-genie, vedere Configurazione di systemd genie L’installazione dello script e i passaggi per l’installazione manuale illustrano l’installazione sia di systemd-genie che dell’SDK di Service Fabric.

Installazione con script

Per praticità viene fornito uno script per l'installazione dell'SDK comune di Service Fabric insieme all'interfaccia della riga di comando sfctl. L'esecuzione dello script presuppone l'accettazione delle licenze di tutto il software installato. In alternativa, è possibile eseguire i passaggi per l’installazione manuale nella sezione successiva, che illustrerà le licenze associate e i componenti installati.

Al termine dell'esecuzione dello script, è possibile passare a Configurare un cluster locale.

sudo curl -s https://raw.githubusercontent.com/Azure/service-fabric-scripts-and-templates/master/scripts/SetupServiceFabric/SetupServiceFabric.sh | sudo bash

Installazione manuale

Per l'installazione manuale del runtime e dell'SDK comune di Service Fabric, seguire il resto di questa guida.

  1. Aprire un terminale.

  2. Accedere alla distribuzione Linux WSL2

  3. Configurare systemd-genie come indicato in Configurazione di systemd genie (se systemd-genie è già configurato, è possibile passare al passaggio successivo)

  4. Accedere allo spazio dei nomi genie usando genie -s

  5. All'interno dello spazio dei nomi genie, è anche possibile installare l’SDK di Service Fabric come indicato in Installazione dello script o Passaggi per l’installazione manuale in Configurare un cluster Linux locale

  6. Fornire privilegi sudo all'utente corrente immettendo una voce <USERNAME\> ALL = (ALL) NOPASSWD:ALL in /etc/sudoers

Configurare un cluster locale

È consigliabile gestire Service Fabric all'interno della macchina virtuale WSL2 dalle finestre dell’host

  1. Installare l’SDK di Service Fabric (versione 6.0 o successiva) nell'host Windows

  2. In Windows il cluster può essere gestito usando lo strumento ServiceFabricLocalClusterManager fornito come parte dell’SDK di Service Fabric

  3. L'opzione per gestire il cluster Linux locale è abilitata solo quando a. la macchina virtuale WSL2 è in esecuzione; b. i pacchetti systemd-genie, servicefabricruntime e servicefabricsdkcommon vengono installati correttamente all'interno della macchina virtuale; e c. systemd-genie è in esecuzione. È possibile configurare o passare al cluster Linux locale da questo strumento.

  4. Un altro modo per configurare un cluster Linux consiste nell’eseguire la distribuzione usando gli script di configurazione del cluster forniti come parte dell’SDK di Service Fabric.

  5. Aprire un Web browser e passare a Service Fabric Explorer http://localhost:19080. All'avvio del cluster viene visualizzato il dashboard di Service Fabric Explorer. Il completamento della configurazione del cluster può richiedere alcuni minuti. Se il browser non riesce ad aprire l'URL o Service Fabric Explorer non visualizza il cluster, attendere alcuni minuti e riprovare. È anche possibile visualizzare il cluster in ServiceFabricExplorer fornito nell’SDK di Service Fabric.

  6. Appena il cluster è stato configurato ed è in esecuzione, è possibile connettersi al cluster locale in PowerShell e Visual Studio.

Installazione manuale con un pacchetto Debian ServiceFabric e ServieFabricSdkCommon personalizzato

Per l'installazione manuale di Service Fabric da pacchetti Debian personalizzati o scaricati, seguire la parte restante di questa guida.

  1. Aprire un terminale.

  2. Accedere alla distribuzione Linux WSL2

  3. Clonare il file di configurazione

sudo curl -s https://raw.githubusercontent.com/Azure/service-fabric-scripts-and-templates/master/scripts/SetupServiceFabric/SetupServiceFabric.sh > SetupServiceFabric.sh
  1. Rendere eseguibile il file
sudo chmod +x SetupServiceFabric.sh
  1. Eseguire lo script di configurazione con il percorso dei pacchetti Debian locali. Assicurarsi che i percorsi specificati siano validi. Di seguito è riportato un esempio:
sudo ./SetupServiceFabric.sh --servicefabricruntime=/mnt/c/Users/testuser/Downloads/servicefabric.deb --servicefabricsdk=/mnt/c/Users/testuser/Downloads/servicefabric_sdkcommon.deb

Limitazioni note

Di seguito sono riportate le limitazioni note del cluster locale in esecuzione all'interno della distribuzione Linux:

  • Attualmente è supportata solo la distribuzione di Ubuntu-18.04.
  • Per un'esperienza ottimale con Gestione cluster locale e Visual Studio, è consigliabile gestire il cluster da script di PowerShell o LocalClusterManager nell'host Windows.

Domande frequenti

  1. Quali distribuzioni Linux sono supportate per la configurazione di un cluster di Service Fabric locale?
    Attualmente è supportata solo la distribuzione Ubuntu-18.04 per il cluster Linux locale.

  2. È possibile eseguire cluster Windows e Linux di Service Fabric in parallelo con la configurazione di WSL2?
    No, è possibile eseguire un solo cluster locale alla volta nell'host o nella macchina virtuale guest.

  3. Come si distribuisce un cluster Linux locale in un nodo?
    È possibile distribuire un nodo o cinque cluster Linux locali dall’opzione di menu Gestione cluster locale. Durante la distribuzione dallo script di installazione, per impostazione predefinita viene distribuito un cluster a cinque nodi e deve essere passato un cluster a un nodo createOneNodeCluster.

  4. Come connettersi al cluster Linux locale in PowerShell e Visual Studio?
    Se il cluster Linux locale è operativo, il cmdlet connect-servicefabriccluster dovrebbe connettersi automaticamente a tale cluster. Analogamente, anche Visual Studio rileverà automaticamente il cluster locale. È anche possibile connettere il cluster specificando l'endpoint del cluster in PowerShell o Visual Studio.

  5. Dove sii trovano i dati del cluster di Service Fabric per il cluster Linux locale?
    Se si usa la distribuzione Ubuntu-18.04 , i dati di Service Fabric si trovano in \wsl$\Ubuntu-18.04\home\sfuser\sfdevcluster dall’host Windows.

Passaggi successivi