Настройка среды разработки в macOS X
Вы можете собирать приложения Azure Service Fabric на базе macOS X, которые работают в кластерах Linux. Из этого документа вы узнаете, как настроить компьютер Mac для разработки приложений.
Необходимые компоненты
Azure Service Fabric изначально не предназначена для работы в macOS X. Чтобы запустить локальный кластер Service Fabric, предоставляется предварительно настроенный образ контейнера Docker. Перед началом работы вам потребуются:
Требования к системе для установки DOCKER Desktop на Mac
Совет
Чтобы установить Docker на компьютере Mac, выполните инструкции, приведенные в документации Docker. После установки можно использовать DOCKER Desktop для установки таких параметров, как ограничения ресурсов и использование дискового пространства.
Создание локального контейнера и настройка Service Fabric
Чтобы настроить локальный контейнер Docker и запустить его в кластере Service Fabric, выполните следующие действия:
Обновите конфигурацию управляющей программы Docker в узле с помощью следующих параметров и перезапустите управляющую программу Docker:
{ "ipv6": true, "fixed-cidr-v6": "fd00::/64" }
Вы можете обновить эти параметры непосредственно в файле daemon.json, который находится в папке установки Docker. Вы можете непосредственно изменить параметры конфигурации управляющей программы в Docker. Нажмите значок Docker, а затем последовательно выберите Параметры>Управляющая программа>Дополнительно.
Примечание.
Рекомендуется вносить изменения в управляющую программу непосредственно в Docker, поскольку расположение файла daemon.json может быть разным в зависимости от компьютера. Например, ~/Library/Containers/com.docker.docker/Data/database/com.docker.driver.amd64-linux/etc/docker/daemon.json.
Совет
При тестировании больших приложений мы рекомендуем увеличить число ресурсов, выделенных для Docker. Для этого щелкните значок Docker, выберите Дополнительно и настройте число ядер и объем памяти.
Запустите кластер.
Latest:
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
Совет
По умолчанию вы получите образ с последней версией Service Fabric. Сведения о конкретных редакциях см. на странице Service Fabric OneBox в Docker Hub.
Необязательно: создайте расширенный образ Service Fabric.
В новом каталоге создайте файл
Dockerfile
для построения настраиваемого образа:Примечание.
Указанный выше образ можно адаптировать с помощью Dockerfile, чтобы добавить в контейнер дополнительные программы или зависимости. Например, добавленный элемент
RUN apt-get install nodejs -y
разрешает поддержку приложенийnodejs
в качестве гостевых исполняемых файлов.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. Сведения о конкретной версии см. на странице центра Docker.
Чтобы создать повторно используемый образ из
Dockerfile
терминала, откройте терминал иcd
каталог, удерживаяDockerfile
после этого выполните следующую команду:docker build -t mysfcluster .
Примечание.
Для выполнения этой операции потребуется некоторое время, но она выполняется только один раз.
Теперь при необходимости вы можете быстро запустить локальную копию Service Fabric, выполнив следующий код:
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
Совет
Укажите имя экземпляра контейнера, которое будет более удобным для чтения.
Если приложение ожидает передачи данных через определенные порты, их необходимо указать с помощью дополнительных тегов
-p
. Например, если приложение ожидает передачи данных через порт 8080, добавьте следующий тег-p
:docker run -itd -p 19000:19000 -p 19080:19080 -p 8080:8080 --name sfonebox mcr.microsoft.com/service-fabric/onebox:u18
Для запуска кластера потребуется некоторое время. Во время запуска вы можете просмотреть состояние работоспособности кластеров, можете перейти к панели мониторинга кластера
http://localhost:19080
или просмотреть журналы с помощью следующей команды:docker logs sftestcluster
Чтобы остановить и очистить контейнер, используйте следующую команду: Тем не менее мы будем использовать этот контейнер на следующем шаге.
docker rm -f sftestcluster
Известные ограничения
Ниже перечислены известные ограничения для локального кластера, запущенного в контейнере для Mac:
- Служба DNS в контейнере не запускается и в настоящее время не поддерживается. Проблема №132
- Для выполнения приложений на основе контейнеров необходимо запустить SF на узле Linux. Вложенные приложения контейнеров в настоящее время не поддерживаются.
Настройка интерфейса командной строки Service Fabric (sfctl) на компьютере Mac
Чтобы установить интерфейс командной строки Service Fabric (sfctl
) на компьютере Mac, см. инструкции в этом разделе.
Команды интерфейса командной строки поддерживают взаимодействие с сущностями Service Fabric, включая кластеры, приложения и службы.
- Чтобы подключиться к кластеру перед развертыванием приложений, выполните следующую команду:
sfctl cluster select --endpoint http://localhost:19080
Создание приложения на компьютере Mac с помощью Yeoman
Service Fabric предоставляет средства формирования шаблонов, которые позволяют создать приложение Service Fabric из терминала с помощью генератора шаблонов Yeoman. Чтобы установить генератор шаблонов Yeoman для Service Fabric на компьютере, выполните следующие действия:
Node.js и диспетчер пакетов узла должны быть установлены на компьютере Mac. Это можно сделать с помощью HomeBrew, как показано ниже:
brew install node node -v npm -v
Установите на компьютере генератор шаблонов Yeoman из диспетчера пакетов узла.
npm install -g yo
Установите генератор Yeoman, следуя инструкциям из документации по началу работы. Чтобы создавать приложения Service Fabric с помощью Yeoman, сделайте следующее:
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
Установив генераторы, создайте службы гостевых исполняемых файлов или службы контейнеров с помощью команды
yo azuresfguest
илиyo azuresfcontainer
соответственно.Чтобы создать приложение Service Fabric Java на компьютере Mac, установите JDK 1.8 и Gradle на хост-компьютере. Это можно сделать с помощью HomeBrew, как показано ниже:
brew update brew cask install java brew install gradle
Внимание
В текущих версиях
brew cask install java
может устанавливаться более новая версия JDK. Устанавливайте версию JDK 8.
Развертывание приложения на компьютере Mac из терминала
Когда вы создадите и соберете приложение Service Fabric, можно развернуть его с помощью интерфейса командной строки Service Fabric.
Подключитесь к кластеру Service Fabric, в котором выполняется экземпляр контейнера, на компьютере Mac.
sfctl cluster select --endpoint http://localhost:19080
Перейдите к каталогу проекта и запустите скрипт установки.
cd MyProject bash install.sh
Настройка среды разработки .NET Core 3.1
Установите .NET Core SDK 3.1 для Mac, чтобы начать создавать приложения Service Fabric на C#. Пакеты .NET Core для приложений Service Fabric размещены на сайте NuGet.org.
Установка подключаемого модуля Service Fabric для Eclipse на компьютере Mac
Azure Service Fabric предоставляет подключаемый модуль для Eclipse Neon (или более поздней версии) для интегрированной среды разработки Java. Он упрощает процесс создания и развертывания служб Java. Чтобы установить или обновить подключаемый модуль Service Fabric для Eclipse до последней версии, выполните эти действия. Другие шаги в документации Service Fabric для Eclipse также применимы: сборка приложения, добавление службы в приложение, удаление приложения и т. д.
На последнем шаге создается экземпляр контейнера с тем же путем, что и для узла. Для подключаемого модуля требуется, чтобы экземпляр этого типа работал в контейнере Docker на компьютере Mac. Например:
docker run -itd -p 19080:19080 -v /Users/sayantan/work/workspaces/mySFWorkspace:/tmp/mySFWorkspace --name sfonebox mcr.microsoft.com/service-fabric/onebox:latest
Атрибуты определяются следующим образом:
/Users/sayantan/work/workspaces/mySFWorkspace
— полный путь к рабочей области на компьютере Mac./tmp/mySFWorkspace
— это путь внутри контейнера. С ним следует сопоставить рабочую область.
Примечание.
Если вы используете другие путь и имя рабочей области, обновите эти значения в команде docker run
.
Если вы запускаете контейнер с именем, отличающимся от sfonebox
, обновите его в файле testclient.sh в приложении Java субъекта Service Fabric.
Следующие шаги
- Создание первого приложения Azure Service Fabric
- Создание и развертывание первого приложения Service Fabric Java в Linux с использованием подключаемого модуля Service Fabric для Eclipse.
- Создание кластера Service Fabric в Azure с помощью портала Azure
- Создание кластера Service Fabric в Azure с помощью Azure Resource Manager.
- Моделирование приложения в Service Fabric
- Manage an Azure Service Fabric application by using Azure Service Fabric CLI (Управление приложением Azure Service Fabric с помощью интерфейса командной строки Azure Service Fabric)
- Подготовка среды разработки Linux в Windows