Configurar o ambiente de desenvolvimento no macOS X
Pode criar aplicações do Azure Service Fabric para serem executadas em clusters do Linux com o macOS X. Este documento aborda como configurar o seu Mac para desenvolvimento.
Pré-requisitos
O Azure Service Fabric não é executado nativamente no macOS X. Para executar um cluster local do Service Fabric, é fornecida uma imagem de contentor do Docker pré-configurada. Antes de começar, precisará de:
Os requisitos de sistema para instalar o Docker Desktop no Mac
Dica
Para instalar o Docker no seu Mac, siga os passos na documentação do Docker. Após a instalação, pode utilizar 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. 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
Recomenda-se modificar o daemon diretamente no Docker porque a localização do ficheiro daemon.json pode variar de computador para computador. Por exemplo, ~/Library/Containers/com.docker.docker/Data/database/com.docker.driver.amd64-linux/etc/docker/daemon.json.
Dica
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 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
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
Dica
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 a sua imagem expandida do Service Fabric.
Num novo diretório, crie um ficheiro chamado
Dockerfile
para criar a sua imagem personalizada:Nota
Pode adaptar a imagem acima com um Dockerfile para adicionar programas ou dependências adicionais ao seu contentor. 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"]
Dica
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 criar a sua imagem reutilizável a
Dockerfile
partir do , abra um terminal ecd
, em seguida, execute o diretório que mantém a suaDockerfile
:docker build -t mysfcluster .
Nota
Esta operação irá demorar algum tempo, mas só é necessária uma vez.
Agora, pode iniciar rapidamente uma cópia local do Service Fabric sempre que precisar da mesma ao executar:
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 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 demorará algum tempo a começar. Quando estiver em execução, pode ver os registos com o seguinte comando ou aceder ao dashboard para ver o estado de funcionamento dos clusters:
http://localhost:19080
docker logs sftestcluster
Para parar e limpar o contentor, utilize o seguinte comando. No entanto, vamos utilizar este contentor no próximo passo.
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 não é atualmente suportado no contentor. Problema n.º 132
- A execução de aplicações baseadas em contentores requer a execução de SF num anfitrião Linux. Atualmente, as aplicações de contentor aninhadas não são suportadas.
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 o Node Package Manager têm de 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 no seu computador 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 que instala 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 .NET Core 3.1 para Mac para começar a criar aplicações do Service Fabric em C#. Os pacotes para aplicações do Service Fabric .NET Core estão alojados 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.
Passos seguintes
- 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)