Configurar seu ambiente de desenvolvimento no macOS X
Você pode criar aplicativos do Azure Service Fabric para serem executados em clusters Linux usando o macOS X. Este documento aborda como configurar o Mac para desenvolvimento.
Pré-requisitos
O Azure Service Fabric não é executado nativamente no macOS X. Para executar um cluster local do Service Fabric, uma imagem de contêiner do Docker pré-configurada é fornecida. Antes de começar, você precisará:
Os requisitos do sistema para instalar o Docker Desktop no Mac
Para instalar e executar o Docker Desktop no Mac
Gorjeta
Para instalar o Docker no seu Mac, siga os passos na documentação do Docker. Após a instalação, você pode usar o Docker Desktop para definir preferências, incluindo limites de recursos e utilização do disco.
Criar um contentor local e configurar o Service Fabric
Para configurar um contentor do Docker local e executar um cluster do Service Fabric no mesmo, realize os passos seguintes:
Atualize a configuração do daemon do Docker no seu anfitrião com as seguintes definições e reinicie-o:
{ "ipv6": true, "fixed-cidr-v6": "fd00::/64" }
Pode atualizar estas definições diretamente no ficheiro daemon.json no caminho de instalação do Docker. Você pode modificar diretamente as definições de configuração do daemon no Docker. Selecione o ícone de Dockere, em seguida, selecione Preferências>Daemon>Avançadas.
Nota
Modificar o daemon diretamente no Docker é recomendado porque o local do arquivo daemon.json pode variar de máquina para máquina. Por exemplo, ~/Library/Containers/com.docker.docker/Data/database/com.docker.driver.amd64-linux/etc/docker/daemon.json.
Gorjeta
Recomendamos que aumente os recursos alocados ao Docker quando testar aplicações grandes. Pode fazê-lo selecionando o Ícone do Docker e, em seguida, selecionando Avançadas para ajustar o número de núcleos e memória.
Inicie o cluster.
Mais recentes:
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
Ubuntu 18.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:u18
Gorjeta
Por predefinição, isto irá extrair a imagem com a versão mais recente do Service Fabric. Para revisões específicas, visite a página Onebox do Service Fabric no Docker Hub.
Opcional: crie sua imagem estendida do Service Fabric.
Em um novo diretório, crie um arquivo chamado
Dockerfile
para construir sua imagem personalizada:Nota
Você pode adaptar a imagem acima com um Dockerfile para adicionar programas ou dependências adicionais ao seu contêiner. Por exemplo, se adicionar
RUN apt-get install nodejs -y
irá permitir o suporte para aplicaçõesnodejs
como convidado executáveis.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"]
Gorjeta
Por predefinição, isto irá extrair a imagem com a versão mais recente do Service Fabric. Para revisões específicas, visite a página do Hub do Docker Hub.
Para construir sua imagem reutilizável a
Dockerfile
partir do , abra um terminal ecd
para o diretório que contémDockerfile
sua execução:docker build -t mysfcluster .
Nota
Esta operação irá demorar algum tempo, mas só é necessária uma vez.
Agora você pode iniciar rapidamente uma cópia local do Service Fabric sempre que precisar, 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
Gorjeta
Forneça um nome para a instância do contentor para poder processá-la de forma mais legível.
Se a aplicação estiver a escutar em determinadas portas, as portas têm de ser especificada através da utilização de etiquetas
-p
adicionais. Por exemplo, se a sua aplicação estiver em escuta na porta 8080, adicione a seguinte etiqueta-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á um momento para começar. Quando ele estiver em execução, você poderá exibir logs usando o seguinte comando ou ir para o painel para exibir a integridade dos clusters:
http://localhost:19080
docker logs sftestcluster
Para parar e limpar o contêiner, use o seguinte comando. No entanto, usaremos esse contêiner na próxima etapa.
docker rm -f sftestcluster
Limitações Conhecidas
Seguem-se as limitações conhecidas do cluster local em execução num contentor para Mac:
- O serviço DNS não é executado e atualmente não é suportado no contêiner. Edição #132
- A execução de aplicativos baseados em contêiner requer a execução de SF em um host Linux. Atualmente, 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 Service Fabric CLI para instalar a CLI do Service Fabric (sfctl
) no seu Mac.
Os comandos da CLI suportam a interação com as entidades do Service Fabric, incluindo clusters, aplicações e serviços.
- Para ligar ao cluster antes de implementar aplicações, execute o comando abaixo.
sfctl cluster select --endpoint http://localhost:19080
Criar uma aplicação no seu Mac com o Yeoman
O Service Fabric fornece ferramentas estruturais que o ajudam a criar uma aplicação do Service Fabric a partir do terminal, utilizando o gerador de modelos Yeoman. Utilize os seguintes passos para confirmar que o gerador de modelos Yeoman do Service Fabric está a funcionar na sua máquina:
Node.js e Node Package Manager devem estar instalados no seu Mac. O software pode ser instalado utilizando o HomeBrew, da seguinte forma:
brew install node node -v npm -v
Instale o gerador de modelos Yeoman em sua máquina a partir do Node Package Manager:
npm install -g yo
Instale o gerador Yeoman que prefira seguindo os passos na documentação da introdução. Para criar aplicações do Service Fabric utilizando o Yeoman, siga estes passos:
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
Depois de instalar os geradores, crie serviços de contentor ou executáveis convidados ao executar
yo azuresfguest
ouyo azuresfcontainer
, respetivamente.Para criar uma aplicação Java do Service Fabric no Mac, o JDK versão 1.8 e o Gradle devem estar instalados na máquina anfitriã. O software pode ser instalado utilizando o HomeBrew, da seguinte forma:
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. Certifique-se de instalar o JDK 8.
Implementar a aplicação no seu Mac a partir do terminal
Depois de criar e compilar a aplicação do Service Fabric, pode implementá-la com a CLI do Service Fabric:
Ligue ao cluster do Service Fabric que está em execução dentro da instância de contentor no seu Mac:
sfctl cluster select --endpoint http://localhost:19080
A partir do diretório do seu 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 começar a criar aplicativos C# Service Fabric. Os pacotes para aplicativos .NET Core Service Fabric são hospedados no NuGet.org.
Instalar o plug-in do Service Fabric para Eclipse no seu Mac
Fornece um plug-in do Azure Service Fabric para o Eclipse Neon (ou posterior) para o IDE Java. O plug-in simplifica o processo de criação e implementação de serviços Java. Para instalar ou atualizar o plug-in do Service Fabric para Eclipse para a versão mais recente, siga estes passos. Os outros passos na documentação do Service Fabric para o Eclipse também são aplicáveis: criar uma aplicação, adicionar um serviço a uma aplicação, desinstalar uma aplicação e assim sucessivamente.
O último passo consiste em instanciar o contentor com um caminho que é partilhado com o anfitrião. O plug-in requer este tipo de instanciação para trabalhar com o contentor do Docker no 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 do seguinte modo:
/Users/sayantan/work/workspaces/mySFWorkspace
é o caminho completamente qualificado da área de trabalho no seu Mac./tmp/mySFWorkspace
é o caminho que se encontra dentro do contentor para onde a área de trabalho deve ser mapeada.
Nota
Se tiver um nome/caminho diferente para a sua área de trabalho, atualize estes valores no comando docker run
.
Se iniciar o contentor com um nome que não seja sfonebox
, atualize o valor de nome no ficheiro testclient.sh na sua aplicação Java de atores do Service Fabric.
Próximos passos
- Criar e implementar a sua primeira aplicação Java do Service Fabric no Linux com o Yeoman
- Criar e implementar a sua primeira aplicação Java do Service Fabric no Linux com o plug-in do Service Fabric para Eclipse
- Create a Service Fabric cluster in the Azure portal (Criar um cluster do Service Fabric no portal do Azure)
- Create a Service Fabric cluster by using Azure Resource Manager (Criar um cluster do Service Fabric com o Azure Resource Manager)
- Understand the Service Fabric application model (Compreender o modelo de aplicações do Service Fabric)
- Utilizar a CLI do Service Fabric para gerir as aplicações
- Prepare a Linux development environment on Windows (Preparar um ambiente de desenvolvimento do Linux no Windows)