Configurar um cluster do Linux do Service Fabric com o WSL2 no seu computador de desenvolvedor do Windows

Este documento aborda como configurar um cluster local do Linux Service Fabric com o WSL2 em um computador de desenvolvimento do Windows. Configurar um cluster do Linux local é útil para testar rapidamente aplicativos segmentados para clusters do Linux, mas são desenvolvidos em um computador do Windows.

Pré-requisitos

Os clusters de Service Fabric baseados em Linux não são executados diretamente no Windows, mas para habilitar a protótipo multiplataforma, fornecemos uma maneira de implantar o Service Fabric Cluster na distribuição do Linux pelo WSL2 (Subsistema do Windows para Linux) para Windows.

Antes de começar, você precisa do:

  • Configuração do WSL2 em Windows e garantir o WSL 2 como versão padrão
  • Configurar a Distribuição do Linux do Ubuntu 18.04 da Microsoft Store ao configurar o WSL2

Dica

Para instalar o WSL2 no seu computador Windows, siga as etapas na documentação do WSL. Após a instalação, verifique a instalação do Ubuntu-18.04, torne-a sua distribuição padrão e ela deve funcionar.

Configurar o SDK do Service Fabric na Distribuição do Linux

A configuração do Service Fabric não pode ser feita na Distribuição do Linux WSL2 como no sistema operacional Linux padrão. Pois o systemd como PID1 não está em execução na VM e o sistema como PID1 é um pré-requisito para que o SDK do SF funcione com êxito. Para habilitar o sistema como PID1, o systemd-genie é usado como uma solução alternativa. Mais detalhes sobre o systemd-genie podem ser encontrados na configuração do systemd genie setup A instalação de script e etapas de instalação manual abrangem a instalação de systemd-genie e do service fabric sdk.

Instalação de script

Para conveniência, um script é fornecido para instalar o SDK do Service Fabric comum juntamente com a CLI sfctl. A execução do script supõe que você concorda com as licenças para todos os softwares que estão sendo instalados. Como alternativa, você pode executar as etapas de Instalação manual na próxima seção, que apresentará licenças associadas e os componentes que estão sendo instalados.

Depois que o script for executado com êxito, é possível pular para Configurar um cluster local.

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

Instalação manual

Para a instalação manual do runtime do Service Fabric e SDK comum, siga o restante deste guia.

  1. Abra um terminal.

  2. Fazer logon na distribuição do WSL2 Linux

  3. Configurar o systemd-genie, conforme mencionado na Configuração do genie systemd (se o systemd-genie já estiver configurado, você poderá prosseguir para a próxima etapa)

  4. Insira o namespace do genie usando genie-s

  5. N namespace do genie, o SDK do SF também pode ser instalado conforme mencionado nas etapas de Instalação de Script ou Instalação Manual em Configuração de um cluster local do Linux

  6. Forneça privilégios de sudo ao usuário atual fazendo uma entrada <USERNAME\> ALL = (ALL) NOPASSWD:ALL em /etc/sudoers

Configurar um cluster local

O Service Fabric na VM WSL2 é recomendável para gerenciar no host do Windows

  1. Instalar o SDK do Service Fabric (versão 6.0 ou superior) no host do Windows

  2. No Windows, o cluster pode ser gerenciado usando a ferramenta ServiceFabricLocalClusterManager fornecida como parte do SDK do SF

  3. A opção de gerenciar o Cluster Local do Linux só é habilitada quando a. a VM WSL2 está em execução, b. os pacotes Systemd-genie, servicefabricruntime e servicefabricsdkcommon são instalados corretamente na VM e c. Systemd-genie está em estado de execução. É possível usar essa ferramenta para configurar ou alternar para o Cluster Local do Linux.

  4. Outra maneira de configurar o cluster do Linux é implantar usando scripts de instalação de cluster fornecidos como parte do SDK do SF.

  5. Abra um navegador da web e vá para o Service Fabric Explorer (http://localhost:19080). Ao iniciar o cluster, você vê o painel do Service Fabric Explorer. A configuração do cluster pode demorar alguns minutos. Se o seu navegador não conseguir abrir a URL ou o Service Fabric Explorer não mostrar o cluster, aguarde alguns minutos e tente novamente. Você também pode ver o cluster no ServiceFabricExplorer fornecido no SDK do SF.

  6. Depois que o Cluster estiver em execução, você poderá se conectar ao cluster local no PowerShell e Visual Studio.

Instalação manual com o Pacote Debian do ServiceFabric e ServieFabricSdkCommon personalizado

Para a instalação manual do Service Fabric de pacotes Debian personalizados ou baixados, siga o restante deste guia.

  1. Abra um terminal.

  2. Fazer logon na distribuição do WSL2 Linux

  3. Clonar o arquivo de configuração

sudo curl -s https://raw.githubusercontent.com/Azure/service-fabric-scripts-and-templates/master/scripts/SetupServiceFabric/SetupServiceFabric.sh > SetupServiceFabric.sh
  1. Tornar o arquivo de script executável
sudo chmod +x SetupServiceFabric.sh
  1. Execute a configuração do script com o caminho dos pacotes Debian locais. Verifique se os caminhos fornecidos são válidos. Veja um exemplo:
sudo ./SetupServiceFabric.sh --servicefabricruntime=/mnt/c/Users/testuser/Downloads/servicefabric.deb --servicefabricsdk=/mnt/c/Users/testuser/Downloads/servicefabric_sdkcommon.deb

Limitações conhecidas

A seguir estão algumas limitações conhecidas do cluster local em execução na Distribuição da Linux:

  • Atualmente, a distribuição do Ubuntu-18.04 só tem suporte.
  • Para ter uma experiência perfeita com o Gerenciador de Cluster Local e Visual Studio, é recomendável gerenciar o cluster de scripts do PowerShell ou LocalClusterManager no host do Windows.

Perguntas frequentes

  1. Quais distribuições do Linux têm suporte para Configuração de Cluster Local do SF?
    Atualmente, somente o Ubuntu-18.04 tem suporte para o cluster local do Linux.

  2. O Windows e o Cluster SF do Linux podem ser executados em paralelo com a configuração do WSL2?
    Não, apenas um cluster local pode ser executado por vez no host ou na VM convidada.

  3. Como implantar um nó do cluster local do Linux?
    Um nó ou cinco nós do cluster local do Linux podem ser implantados no Gerenciador de Cluster Local nas opções do menu. Durante a implantação do script de instalação, cinco nós do clusters são implantados por padrão e para um nó de cluster, o CreateOneNodeCluster deve ser passado.

  4. Como se conectar ao Cluster Local do Linux no PowerShell e Visual Studio?
    Se o cluster local do Linux estiver em execução, o cmdlet connect-servicefabriccluster deverá se conectar automaticamente a esse cluster. O Visual Studio semelhante detectará automaticamente esse cluster local. Esse cluster também pode ser conectado fornecendo um ponto de extremidade de cluster no PowerShell ou no Visual Studio.

  5. Onde os dados do Cluster SF estão localizados para o cluster local do Linux?
    Se estiver usando a distribuição Ubuntu-18.04, os dados SF estarão localizados em \wsl$\Ubuntu-18.04\home\sfuser\sfdevcluster no host do Windows.

Próximas etapas