Настройка среды разработки для Mac OS XSet up your development environment on Mac OS X

Вы можете собирать приложения Azure Service Fabric на базе Mac OS X, которые работают в кластерах Linux. Из этого документа вы узнаете, как настроить систему Mac для разработки приложений.You can build Azure Service Fabric applications to run on Linux clusters by using Mac OS X. This document covers how to set up your Mac for development.

Предварительные условияPrerequisites

Платформа Azure Service Fabric изначально не предназначена для работы в Mac OS X. Чтобы запустить локальный кластер Service Fabric, предоставляется предварительно настроенный образ контейнера Docker.Azure Service Fabric doesn't run natively on Mac OS X. To run a local Service Fabric cluster, a pre-configured Docker container image is provided. Перед началом работы вам потребуются:Before you get started, you need:

  • Не менее 4 ГБ ОЗУ.At least 4 GB of RAM.
  • Последняя версия Docker.The latest version of Docker.

Совет

Чтобы установить Docker на компьютере Mac, выполните инструкции, приведенные в документации Docker.To install Docker on your Mac, follow the steps in the Docker documentation. Затем проверьте правильность установки.After installing, verify your installation.

Создание локального контейнера и настройка Service FabricCreate a local container and set up Service Fabric

Чтобы настроить локальный контейнер Docker и запустить его в кластере Service Fabric, выполните следующие действия:To set up a local Docker container and have a Service Fabric cluster running on it, perform the following steps:

  1. Обновите конфигурацию управляющей программы Docker в узле с помощью следующих параметров и перезапустите управляющую программу Docker:Update the Docker daemon configuration on your host with the following settings and restart the Docker daemon:

    {
        "ipv6": true,
        "fixed-cidr-v6": "fd00::/64"
    }
    

    Вы можете обновить эти параметры непосредственно в файле daemon.json, который находится в папке установки Docker.You can update these settings directly in the daemon.json file in your Docker installation path. Вы можете непосредственно изменить параметры конфигурации управляющей программы в Docker.You can directly modify the daemon configuration settings in Docker. Нажмите значок Docker, а затем последовательно выберите Параметры > Управляющая программа > Дополнительно.Select the Docker icon, and then select Preferences > Daemon > Advanced.

    Примечание

    Рекомендуется изменить управляющую программу непосредственно в DOCKER, так как расположение daemon.jsв файле может отличаться от компьютера к компьютеру.Modifying the daemon directly in Docker is recommended because the location of the daemon.json file can vary from machine to machine. Например, ~/Library/Containers/com.docker.docker/Data/database/com.docker.driver.amd64-linux/etc/docker/daemon.json.For example, ~/Library/Containers/com.docker.docker/Data/database/com.docker.driver.amd64-linux/etc/docker/daemon.json.

    Совет

    При тестировании больших приложений мы рекомендуем увеличить число ресурсов, выделенных для Docker.We recommend increasing the resources allocated to Docker when testing large applications. Для этого щелкните значок Docker, выберите Дополнительно и настройте число ядер и объем памяти.This can be done by selecting the Docker Icon, then selecting Advanced to adjust the number of cores and memory.

  2. Запустите кластер.Start the cluster.
    Ubuntu 18,04 LTS: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
    

    Ubuntu 16,04 LTS:Ubuntu 16.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:u16
    

    Совет

    По умолчанию вы получите образ с последней версией Service Fabric.By default, this will pull the image with the latest version of Service Fabric. Конкретные редакции см. на странице Service Fabric OneBox в центре DOCKER.For particular revisions, please visit the Service Fabric Onebox page on Docker Hub.

  3. (Необязательно.) создайте расширенный образ Service Fabric.Optional: Build your extended Service Fabric image.

    В новом каталоге создайте файл Dockerfile с именем для создания настраиваемого образа:In a new directory, create a file called Dockerfile to build your customized image:

    Примечание

    Вы можете адаптировать изображение выше с помощью Dockerfile, чтобы добавить в контейнер дополнительные программы или зависимости.You can adapt the image above with a Dockerfile to add additional programs or dependencies into your container. Например, добавленный элемент RUN apt-get install nodejs -y разрешает поддержку приложений nodejs в качестве гостевых исполняемых файлов.For example, adding RUN apt-get install nodejs -y will allow support for nodejs applications as guest executables.

    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"]
    

    Совет

    По умолчанию вы получите образ с последней версией Service Fabric.By default, this will pull the image with the latest version of Service Fabric. Конкретные редакции см. на странице центра DOCKER .For particular revisions, please visit the Docker Hub page.

    Чтобы создать повторно используемое изображение из Dockerfile , откройте терминал, а затем запустите его, а cd Dockerfile затем выполните команду:To build your reusable image from the Dockerfile, open a terminal and cd to the directly holding your Dockerfile then run:

    docker build -t mysfcluster .
    

    Примечание

    Для выполнения этой операции потребуется некоторое время, но она выполняется только один раз.This operation will take some time but is only needed once.

    Теперь можно быстро запустить локальную копию Service Fabric при необходимости, запустив:Now you can quickly start a local copy of Service Fabric whenever you need it by running:

    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
    

    Совет

    Укажите имя экземпляра контейнера, которое будет более удобным для чтения.Provide a name for your container instance so it can be handled in a more readable manner.

    Если приложение ожидает передачи данных через определенные порты, их необходимо указать с помощью дополнительных тегов -p.If your application is listening on certain ports, the ports must be specified by using additional -p tags. Например, если приложение ожидает передачи данных через порт 8080, добавьте следующий тег -p:For example, if your application is listening on port 8080, add the following -p tag:

    docker run -itd -p 19000:19000 -p 19080:19080 -p 8080:8080 --name sfonebox mcr.microsoft.com/service-fabric/onebox:u18

  4. Для запуска кластера потребуется некоторое время.The cluster will take a moment to start. При запуске можно просмотреть журналы с помощью следующей команды или перейти на панель мониторинга, чтобы просмотреть работоспособность кластеров: http://localhost:19080When it is running, you can view logs using the following command or jump to the dashboard to view the clusters health: http://localhost:19080

    docker logs sftestcluster
    
  5. Чтобы отключить и очистить контейнер, используйте следующую команду.To stop and clean up the container, use the following command. Тем не менее мы будем использовать этот контейнер на следующем шаге.However, we will be using this container in the next step.

    docker rm -f sftestcluster
    

Известные ограниченияKnown Limitations

Ниже перечислены известные ограничения для локального кластера, запущенного в контейнере для Mac:The following are known limitations of the local cluster running in a container for Mac's:

  • Служба DNS не запускается и в настоящее время не поддерживается в контейнере.DNS service does not run and is currently not supported within the container. #132 проблемыIssue #132
  • Для выполнения приложений на основе контейнеров необходимо запустить на узле Linux.Running container-based apps requires running SF on a Linux host. Вложенные приложения контейнера в настоящее время не поддерживаются.Nested container apps are currently not supported.

Настройка интерфейса командной строки Service Fabric (sfctl) на компьютере MacSet up the Service Fabric CLI (sfctl) on your Mac

Чтобы установить интерфейс командной строки Service Fabric (sfctl) на компьютере Mac, см. инструкции в этом разделе.Follow the instructions at Service Fabric CLI to install the Service Fabric CLI (sfctl) on your Mac. Команды интерфейса командной строки поддерживают взаимодействие с сущностями Service Fabric, включая кластеры, приложения и службы.The CLI commands support interacting with Service Fabric entities, including clusters, applications, and services.

  1. Чтобы подключиться к кластеру перед развертыванием приложений, выполните следующую команду:To connect to the cluster before deploying applications run the command below.
sfctl cluster select --endpoint http://localhost:19080

Создание приложения на компьютере Mac с помощью YeomanCreate your application on your Mac by using Yeoman

Service Fabric предоставляет средства формирования шаблонов, которые позволяют создать приложение Service Fabric из терминала с помощью генератора шаблонов Yeoman.Service Fabric provides scaffolding tools that help you to create a Service Fabric application from the terminal by using the Yeoman template generator. Чтобы установить генератор шаблонов Yeoman для Service Fabric на компьютере, выполните следующие действия:Use the following steps to ensure that the Service Fabric Yeoman template generator is working on your machine:

  1. Установите Node.js и диспетчер пакетов Node (NPM) на компьютере Mac.Node.js and Node Package Manager (NPM) must be installed on your Mac. Это можно сделать с помощью HomeBrew, как показано ниже:The software can be installed by using HomeBrew, as follows:

    brew install node
    node -v
    npm -v
    
  2. Установите на компьютере генератор шаблонов Yeoman из NPM.Install the Yeoman template generator on your machine from NPM:

    npm install -g yo
    
  3. Установите генератор Yeoman, следуя инструкциям из документации по началу работы.Install the Yeoman generator that you prefer by following the steps in the getting started documentation. Чтобы создавать приложения Service Fabric с помощью Yeoman, сделайте следующее:To create Service Fabric applications by using Yeoman, follow these steps:

    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
    
  4. Установив генераторы, создайте службы гостевых исполняемых файлов или службы контейнеров с помощью команды yo azuresfguest или yo azuresfcontainer соответственно.After you install the generators, create guest executable or container services by running yo azuresfguest or yo azuresfcontainer, respectively.

  5. Чтобы создать приложение Service Fabric Java на компьютере Mac, установите JDK 1.8 и Gradle на хост-компьютере.To build a Service Fabric Java application on your Mac, JDK version 1.8 and Gradle must be installed on the host machine. Это можно сделать с помощью HomeBrew, как показано ниже:The software can be installed by using HomeBrew, as follows:

    brew update
    brew cask install java
    brew install gradle
    

    Важно!

    В текущих версиях brew cask install java может устанавливаться более новая версия JDK.Current versions of brew cask install java may install a more recent version of the JDK. Не забудьте установить JDK 8.Be sure to install JDK 8.

Развертывание приложения на компьютере Mac из терминалаDeploy your application on your Mac from the terminal

Когда вы создадите и соберете приложение Service Fabric, можно развернуть его с помощью интерфейса командной строки Service Fabric.After you create and build your Service Fabric application, you can deploy your application by using the Service Fabric CLI:

  1. Подключитесь к кластеру Service Fabric, в котором выполняется экземпляр контейнера, на компьютере Mac.Connect to the Service Fabric cluster that is running inside the container instance on your Mac:

    sfctl cluster select --endpoint http://localhost:19080
    
  2. Перейдите к каталогу проекта и запустите скрипт установки.From inside your project directory, run the install script:

    cd MyProject
    bash install.sh
    

Настройка разработки .NET Core 3,1Set up .NET Core 3.1 development

Установите пакет SDK для .NET Core 3,1 для Mac , чтобы начать Создание приложений Service Fabric C#.Install the .NET Core 3.1 SDK for Mac to start creating C# Service Fabric applications. Пакеты для Service Fabric приложений .NET Core размещаются в NuGet.org.Packages for .NET Core Service Fabric applications are hosted on NuGet.org.

Установка подключаемого модуля Service Fabric для Eclipse на компьютере MacInstall the Service Fabric plug-in for Eclipse on your Mac

Azure Service Fabric предоставляет подключаемый модуль для Eclipse Neon (или более поздней версии) для интегрированной среды разработки Java.Azure Service Fabric provides a plug-in for Eclipse Neon (or later) for the Java IDE. Он упрощает процесс создания и развертывания служб Java.The plug-in simplifies the process of creating, building, and deploying Java services. Чтобы установить или обновить подключаемый модуль Service Fabric для Eclipse до последней версии, выполните эти действия.To install or update the Service Fabric plug-in for Eclipse to the latest version, follow these steps. Другие шаги в документации Service Fabric для Eclipse также применимы: сборка приложения, добавление службы в приложение, удаление приложения и т. д.The other steps in the Service Fabric for Eclipse documentation are also applicable: build an application, add a service to an application, uninstall an application, and so on.

На последнем шаге создается экземпляр контейнера с тем же путем, что и для узла.The last step is to instantiate the container with a path that is shared with your host. Для подключаемого модуля требуется, чтобы экземпляр этого типа работал в контейнере Docker на компьютере Mac.The plug-in requires this type of instantiation to work with the Docker container on your Mac. Пример:For example:

docker run -itd -p 19080:19080 -v /Users/sayantan/work/workspaces/mySFWorkspace:/tmp/mySFWorkspace --name sfonebox mcr.microsoft.com/service-fabric/onebox:latest

Атрибуты определяются следующим образом:The attributes are defined as follows:

  • /Users/sayantan/work/workspaces/mySFWorkspace — полный путь к рабочей области на компьютере Mac./Users/sayantan/work/workspaces/mySFWorkspace is the fully qualified path of the workspace on your Mac.
  • /tmp/mySFWorkspace — это путь внутри контейнера. С ним следует сопоставить рабочую область./tmp/mySFWorkspace is the path that is inside of the container to where the workspace should be mapped.

Примечание

Если вы используете другие путь и имя рабочей области, обновите эти значения в команде docker run.If you have a different name/path for your workspace, update these values in the docker run command.

Если вы запускаете контейнер с именем, отличающимся от sfonebox, обновите его в файле testclient.sh в приложении Java субъекта Service Fabric.If you start the container with a name other than sfonebox, update the name value in the testclient.sh file in your Service Fabric actor Java application.

Дальнейшие действияNext steps