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:
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.
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.
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 aplicativosnodejs
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 ecd
para o que está diretamente mantendo seuDockerfile
, 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
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
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.
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
- Configurar um cluster do Linux no Windows com o WSL2
- Criar e implantar seu primeiro aplicativo Java de do Service Fabric no Linux usando Yeoman
- Introdução ao Eclipse
- Confira outras amostras de Java
- Saiba mais sobre as opções de suporte do Service Fabric