Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Вы можете создавать Azure Service Fabric приложения для запуска в кластерах Linux с помощью macOS X. В этом документе описывается настройка Mac для разработки.
Предпосылки
Azure Service Fabric не выполняется изначально в macOS X. Для запуска локального кластера службы Fabric предоставляется предварительно настроенный образ контейнера Docker. Прежде чем приступить к работе, вам потребуется:
Требования к системе для установки Docker Desktop на Mac
Подсказка
Чтобы установить Docker на компьютере Mac, выполните действия, описанные в документации По Docker. После установки можно использовать Docker Desktop для настройки параметров, включая ограничения ресурсов и использование дисков.
Создание локального контейнера и настройка службы Fabric
Чтобы настроить локальный контейнер Docker и запустить в нем кластер службы 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: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: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 Hub.
Чтобы создать повторно используемый образ из
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:19080docker logs sftestclusterЧтобы остановить и очистить контейнер, используйте следующую команду. Однако мы будем использовать этот контейнер на следующем шаге.
docker rm -f sftestcluster
Известные ограничения
Ниже перечислены известные ограничения локального кластера, работающего в контейнере для Mac:
- Служба DNS не запускается и в настоящее время не поддерживается в контейнере. Проблема #132
- Для запуска приложений на основе контейнеров требуется запуск SF на узле Linux. Вложенные контейнерные приложения на данный момент не поддерживаются.
Настройка интерфейса командной строки службы Fabric (sfctl) на компьютере Mac
Следуйте инструкциям в разделе Service Fabric CLI, чтобы установить интерфейс командной строки Service Fabric (sfctl) на компьютере Mac.
Команды CLI позволяют взаимодействовать с объектами Service Fabric, включая кластеры, приложения и службы.
- Чтобы подключиться к кластеру перед развертыванием приложений, выполните следующую команду.
sfctl cluster select --endpoint http://localhost:19080
Создание приложения на Компьютере Mac с помощью Yeoman
Служба Fabric предоставляет средства формирования шаблонов, которые помогают создать приложение службы Fabric из терминала с помощью генератора шаблонов Yeoman. Чтобы убедиться, что генератор шаблонов Yeoman для Service Fabric работает на вашем компьютере, выполните следующие действия:
На вашем Mac должны быть установлены Node.js и менеджер пакетов Node.js (npm). Программное обеспечение можно установить с помощью HomeBrew следующим образом:
brew install node node -v npm -vУстановите генератор шаблонов Yeoman на компьютере с узла диспетчер пакетов:
npm install -g yoУстановите генератор Yeoman, который вы предпочитаете, выполнив действия, описанные в документации по началу работы. Чтобы создать приложения службы 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 CLI:
Подключитесь к кластеру службы Fabric, работающему внутри экземпляра контейнера на компьютере Mac:
sfctl cluster select --endpoint http://localhost:19080В каталоге проекта запустите скрипт установки:
cd MyProject bash install.sh
Настройка среды разработки .NET Core 3.1
Установите пакет SDK .NET Core 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, обновите значение name в файле testclient.sh в вашем Java-приложении акторов Service Fabric.
Дальнейшие действия
- Создание и развертывание первого Java-приложения Service Fabric на Linux с использованием Yeoman
- Создание и развертывание первого Java-приложения Service Fabric в Linux с помощью подключаемого модуля Service Fabric для Eclipse
- Создать кластер Service Fabric в портале Azure
- Создайте кластер Service Fabric с помощью 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