Configurar seu ambiente de desenvolvimento no macOS X
Você pode criar aplicativos do Azure Service Fabric para serem executados nos clusters do Linux usando o macOS X. Este documento aborda como configurar seu Mac para o desenvolvimento.
Pré-requisitos
O Azure Service Fabric não é executado nativamente no macOS X. Para executar um cluster do Service Fabric local, é fornecida uma imagem pré-configurada de contêiner do Docker. Antes de começar, você precisará do seguinte:
Os requisitos de sistema para instalar o Docker Desktop no Mac
Dica
Para instalar o Docker no seu Mac, siga as etapas da documentação do Docker. Depois da instalação, você pode usar o Docker Desktop para definir preferências, incluindo limites de recursos e utilização de disco.
Criar um contêiner local e configuração do Service Fabric
Para configurar um contêiner de 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 as configurações a seguir e reinicie o daemon de Docker:
{ "ipv6": true, "fixed-cidr-v6": "fd00::/64" }
Você pode atualizar essas configurações diretamente no arquivo daemon.json em seu caminho de instalação do Docker. Você pode modificar diretamente as definições de configuração do daemon no Docker. Selecione o ícone do Docker e então selecione Preferências>Daemon>Avançado.
Observação
É recomendável modificar o daemon diretamente no Docker porque o local do arquivo daemon.json pode variar de um computador para outro. Por exemplo, ~/Library/Containers/com.docker.docker/Data/database/com.docker.driver.amd64-linux/etc/docker/daemon.json.
Dica
Ao testar aplicativos grandes, recomendamos aumentar os recursos alocados para o Docker. Isso pode ser feito selecionando o ícone do Docker e depois selecionando Avançado para ajustar a quantidade de núcleos e memória.
Inicie o cluster.
Mais recente:
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:latest
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, acesse 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 compilar sua imagem reutilizável com base em
Dockerfile
, abra um terminal ecd
para o diretório 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á algum tempo para iniciar. Quando estiver sendo executado, será possível exibir logs usando o seguinte comando ou ir até o painel para exibir a integridade dos clusters:
http://localhost:19080
docker logs sftestcluster
Para interromper e limpar o contêiner, use o comando a seguir. No entanto, vamos usar esse contêiner na próxima etapa.
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.
Configurar a CLI do Service Fabric (sfctl) no seu Mac
Siga as instruções em CLI do Service Fabric para instalar a CLI do Service Fabric (sfctl
) no seu Mac.
Os comandos da CLI dão suporte à interação com entidades do Service Fabric, incluindo clusters, aplicativos e serviços.
- Para conectar-se ao cluster antes de implantar aplicativos, execute o comando a seguir.
sfctl cluster select --endpoint http://localhost:19080
Criar seu aplicativo no Mac usando Yeoman
O Service Fabric fornece ferramentas de scaffolding que ajudarão a criar um aplicativo do Service Fabric no terminal usando gerador de modelos Yeoman. Use as etapas a seguir para garantir que o gerador de modelos Yeoman do Service Fabric esteja funcionando em seu computador:
O Node.js e o Gerenciador de Pacotes do Node devem estar instalados no seu Mac. O software pode ser instalado usando HomeBrew, da seguinte maneira:
brew install node node -v npm -v
Instale o gerador de modelos Yeoman em seu computador com base no Gerenciador de Pacotes do Node:
npm install -g yo
Instale o gerador do Yeoman de sua preferência ao executar as etapas na documentação do guia de introdução. Para criar apps do Service Fabric usando o Yeoman, execute as etapas:
npm install -g generator-azuresfjava # for Service Fabric Java Applications npm install -g generator-azuresfguest # for Service Fabric Guest executables npm install -g generator-azuresfcontainer # for Service Fabric Container Applications
Após a instalação dos geradores, crie os serviços do contêiner ou do executável do convidado executando
yo azuresfguest
ouyo azuresfcontainer
respectivamente.Para criar um aplicativo Java do Service Fabric no seu Mac, o JDK versão 1.8 e o Gradle devem ser instalados no computador host. O software pode ser instalado usando HomeBrew, da seguinte maneira:
brew update brew cask install java brew install gradle
Importante
As versões atuais do
brew cask install java
podem instalar uma versão mais recente do JDK. Instale o JDK 8.
Implantar seu aplicativo no Mac desde o terminal
Depois de criar e compilar o aplicativo do Service Fabric, você pode implantar seu aplicativo usando a CLI do Service Fabric:
Conecte-se ao cluster do Service Fabric em execução na instância de contêiner no seu Mac:
sfctl cluster select --endpoint http://localhost:19080
Do diretório do projeto, execute o script de instalação:
cd MyProject bash install.sh
Configurar o desenvolvimento do .NET Core 3.1
Instale o SDK do .NET Core 3.1 para Mac para iniciar a criação de aplicativos do Service Fabric em C#. Os pacotes de aplicativos do .NET Core Service Fabric estão hospedados em NuGet.org.
Instalar o plug-in do Service Fabric para Eclipse no Mac
O Azure Service Fabric fornece um plug-in do Eclipse Neon (ou posterior) para o IDE do Java. O plug-in simplifica o processo de criação, compilação e implantação de serviços Java. Para instalar ou atualizar o plug-in do Service Fabric para Eclipse para a versão mais recente, execute estas etapas. As outras etapas na documentação do Service Fabric para Eclipse também são aplicáveis: criar um aplicativo, adicionar um serviço a um aplicativo, desinstalar um aplicativo e assim por diante.
A última etapa é instanciar o contêiner com um caminho que é compartilhado com o seu host. O plug-in requer que esse tipo de instanciação trabalhe com o contêiner do Docker em seu Mac. Por exemplo:
docker run -itd -p 19080:19080 -v /Users/sayantan/work/workspaces/mySFWorkspace:/tmp/mySFWorkspace --name sfonebox mcr.microsoft.com/service-fabric/onebox:latest
Os atributos são definidos da seguinte maneira:
/Users/sayantan/work/workspaces/mySFWorkspace
é o caminho totalmente qualificado do workspace no seu Mac./tmp/mySFWorkspace
é o caminho no interior do contêiner para onde o workspace deve ser mapeado.
Observação
Se você tiver um caminho/nome diferente para seu workspace, atualize esses valores no comando docker run
.
Se você iniciar o contêiner com um nome diferente de sfonebox
, atualize-o no arquivo testclient.sh em seu aplicativo Java do ator do Service Fabric.
Próximas etapas
- Criar e implantar seu primeiro aplicativo Java de do Service Fabric no Linux usando Yeoman
- Criar e implantar seu primeiro aplicativo Java do Service Fabric no Linux usando o plug-in do Service Fabric para o Eclipse
- Criar um cluster do Service Fabric no portal do Azure
- Criar um cluster do Service Fabric usando o Azure Resource Manager
- Entender o modelo de aplicativo do Service Fabric
- Usar a CLI do Service Fabric para gerenciar seus aplicativos
- Preparar um ambiente de desenvolvimento do Linux no Windows