Установка кластера Service Fabric на платформе Linux на компьютере разработчики Windows

В этом документе описывается настройка установка локального кластера Service Fabric на платформе Linux на компьютерах разработки Windows. Установка локального кластера Linux удобна для быстрого тестирования приложений, нацеленных на кластеры Linux, но разработанных на компьютере Windows.

Необходимые компоненты

Кластеры Service Fabric на основе Linux не работают в Windows, но для включения кроссплатформенного создания прототипов мы предусмотрели в Service Fabric для Linux контейнер Docker кластера с одним полем, который можно развернуть с помощью Docker для Windows.

Перед началом работы вам потребуются:

  • не менее 4 ГБ ОЗУ;
  • Последняя версия Docker для Windows
  • Docker должен работать в режиме контейнеров для Linux

Совет

Чтобы установить Docker на компьютере Windows, следуйте инструкциям, приведенным в документации Docker. Затем проверьте правильность установки.

Создание локального контейнера и настройка Service Fabric

Чтобы настроить локальный контейнер Docker и запустить его в кластере Service Fabric, выполните следующие действия.

  1. Обновите конфигурацию управляющей программы Docker на узле следующим образом и перезапустите управляющую программу Docker:

    {
      "ipv6": true,
      "fixed-cidr-v6": "2001:db8:1::/64"
    }
    

    Рекомендуемый способ обновления заключается в переходе по следующему пути:

    • Значок Docker > Параметры > Подсистема Docker
    • Добавьте новые поля, перечисленные выше;
    • Применение и перезапуск: перезапустите управляющую программу Docker, чтобы изменения вступили в силу.
  2. Запустите кластер с помощью PowerShell.
    Ubuntu 20.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:u20
    

    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.

  3. Необязательно: создайте расширенный образ 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

  4. Для запуска кластера потребуется некоторое время. Чтобы просмотреть состояние работоспособности кластера, можно перейти к панели мониторинга кластера http://localhost:19080 или просмотреть журналы с помощью следующей команды:

    docker logs sftestcluster
    
  5. После успешного развертывания кластера, как показано на шаге 4, с компьютера под управлением Windows можно перейти по адресу http://localhost:19080, чтобы найти панель мониторинга Service Fabric Explorer. На этом этапе можно подключиться к кластеру с помощью инструментов на компьютере разработки Windows и развернуть приложение, нацеленное на кластеры Service Fabric на платформе Linux.

    Примечание.

    Подключаемый модуль Eclipse сейчас не поддерживается в Windows.

  6. Когда все будет готово, остановите работу контейнера и очистите его с помощью следующей команды:

    docker rm -f sftestcluster
    

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

Ниже перечислены известные ограничения для локального кластера, запущенного в контейнере для Mac:

  • Служба DNS в контейнере не запускается и в настоящее время не поддерживается. Проблема №132
  • Для выполнения приложений на основе контейнеров необходимо запустить SF на узле Linux. Вложенные приложения контейнеров в настоящее время не поддерживаются.

Следующие шаги