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

Este documento aborda como configurar um cluster local do Linux Service Fabric 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 no Windows, porém, para habilitar o protótipo multiplataforma, fornecemos um contêiner do Docker de cluster do Linux Service Fabric Onebox, que pode ser implantado por meio do Docker for Windows.

Antes de começar, você precisa do:

  • Pelo menos 4 GB de RAM
  • Versão mais recente do Docker for Windows
  • O Docker precisa estar em execução no modo de contêineres do Linux

Dica

Para instalar o Docker no seu computador Windows, siga as etapas na documentação do Docker. Depois de instalar, verifique sua instalação.

Criar um contêiner local e configuração do Service Fabric

Para configurar um contêiner do Docker local e ter um cluster do Service Fabric em execução, execute as seguintes etapas:

  1. Atualize a configuração do daemon de Docker em seu host com o seguinte e reinicie o daemon de Docker:

    {
      "ipv6": true,
      "fixed-cidr-v6": "2001:db8:1::/64"
    }
    

    A maneira recomendável de atualizar é ir para:

    • Ícone do Docker > Configurações > Mecanismo do Docker
    • Adicione os campos listados acima
    • Aplicar e reiniciar – reinicie o daemon do Docker para que as alterações entrem em vigor.
  2. Inicie o cluster por meio do 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
    

    LTS do Ubuntu 18.04:

    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
    

    Dica

    Por padrão, isso busca a imagem com a versão mais recente do Service Fabric. Para obter revisões específicas, confira a página Service Fabric Onebox no Docker Hub.

  3. Opcional: crie sua imagem estendida do Service Fabric.

    Em um novo diretório, crie um arquivo chamado Dockerfile para compilar sua imagem personalizada:

    Observação

    Você pode adaptar a imagem acima com um Dockerfile para adicionar outros programas ou dependências a seu contêiner. Por exemplo, adicionar RUN apt-get install nodejs -y permitirá o suporte para aplicativos nodejs como executáveis convidados.

    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"]
    

    Dica

    Por padrão, isso busca a imagem com a versão mais recente do Service Fabric. Para análises específicas, visite a página Hub do Docker.

    Para criar sua imagem reutilizável com base em Dockerfile, abra um terminal e cd para o que está diretamente mantendo seu Dockerfile, depois execute:

    docker build -t mysfcluster .
    

    Observação

    Essa operação levará algum tempo, mas só precisa ser feita uma vez.

    Agora é possível iniciar rapidamente uma cópia local do Service Fabric sempre que for necessário executando:

    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
    

    Dica

    Forneça um nome para sua instância de contêiner para que ela possa ser tratada de forma mais legível.

    Se o seu aplicativo estiver escutando em determinadas portas, as portas deverão ser especificadas usando marcas -p adicionais. Por exemplo, se seu aplicativo estiver escutando na porta 8080, adicione a seguinte marca -p:

    docker run -itd -p 19000:19000 -p 19080:19080 -p 8080:8080 --name sfonebox mcr.microsoft.com/service-fabric/onebox:u18

  4. O cluster levará pouco tempo para ser iniciado, e é possível exibir logs usando o comando a seguir ou ir até o painel para exibir a integridade dos clusters http://localhost:19080:

    docker logs sftestcluster
    
  5. Depois que o cluster for implantado com êxito, conforme observado na Etapa 4, você poderá ir para http://localhost:19080 de seu computador Windows para localizar o painel do Service Fabric Explorer. Neste ponto, você poderá se conectar ao cluster usando ferramentas do seu computador de desenvolvedor do Windows e implantar o aplicativo direcionado para clusters do Service Fabric do Linux.

    Observação

    Atualmente, não há suporte para o plugin Eclipse no Windows.

  6. Ao terminar, pare e limpe o contêiner com este comando:

    docker rm -f sftestcluster
    

Limitações conhecidas

A seguir estão algumas limitações conhecidas do cluster local em execução em um contêiner para Mac’s:

  • O serviço DNS não é executado e no momento não tem suporte no contêiner. Problema nº 132
  • A execução de aplicativos baseados em contêiner requer executar o SF em um host Linux. No momento, não há suporte para aplicativos de contêiner aninhados.

Próximas etapas