Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
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
Sugestão
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.
Observação
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.
Sugestão
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:latestUbuntu 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:u18Sugestão
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 Service Fabric Onebox no Docker Hub.
Opcional: crie sua imagem estendida do Service Fabric.
Em um novo diretório, crie um arquivo chamado
Dockerfilepara construir sua imagem personalizada:Observação
Você pode adaptar a imagem acima com um Dockerfile para adicionar programas ou dependências adicionais ao seu contêiner. Por exemplo, adicionar
RUN apt-get install nodejs -ypermitirá o suporte para aplicaçõesnodejscomo 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"]Sugestão
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 Docker Hub.
Para construir a sua imagem reutilizável a partir do
Dockerfile, abra um terminal e naveguecdaté ao diretório que contém oDockerfile, depois execute:docker build -t mysfcluster .Observação
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 mysfclusterSugestão
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 especificadas usando etiquetas
-padicionais. 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:u18O cluster irá demorar um pouco para iniciar. 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:19080docker logs sftestclusterPara 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 -vInstale o gerador de modelos Yeoman em sua máquina a partir do Node Package Manager:
npm install -g yoInstale o gerador Yeoman que prefira seguindo os passos na documentação de 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 ApplicationsDepois de instalar os geradores, crie serviços de contentor ou executáveis convidados ao executar
yo azuresfguestouyo 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 gradleImportante
As versões atuais do
brew cask install javapodem 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:19080A 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
O Azure Service Fabric fornece um plug-in 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.
Observação
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)