Установка кластера Service Fabric на платформе Linux с помощью WSL2 на компьютере разработчики с системой Windows
В этом документе описывается установка локального кластера Service Fabric на платформе Linux с помощью WSL2 на компьютерах разработки с системой Windows. Установка локального кластера Linux удобна для быстрого тестирования приложений, нацеленных на кластеры Linux, но разработанных на компьютере Windows.
Необходимые компоненты
Кластеры Service Fabric на платформе Linux не запускаются напрямую в системе Windows, но для включения кроссплатформенного прототипа мы предоставили способ развертывания кластера Service Fabric в дистрибутиве Linux с помощью WSL2 (подсистема Windows для Linux) для Windows.
Перед началом работы вам потребуются:
- Установка WSL2 в Windows и настройка WSL 2 в качестве версии по умолчанию
- Настройка дистрибутива Ubuntu 18.04 на платформе из Microsoft Store при настройке WSL2
Совет
Чтобы установить WSL2 на компьютере с системой Windows, следуйте инструкциям, приведенным в документации по WSL. После установки убедитесь, что установлена система Ubuntu-18.04, сделайте ее дистрибутивом по умолчанию, запустите систему и проверьте ее работоспособность.
Настройка пакета SDK Service Fabric в дистрибутиве Linux
Установку Service Fabric невозможно выполнить в дистрибутиве Linux WSL2 так, как это делается в стандартной ОС Linux. Команда systemd as PID1 не выполняется в виртуальной машине, при этом выполнение команды systemd as PID1 является необходимым условием для успешной работы пакета SDK для SF. Чтобы обеспечить возможность запуска systemd as PID1 в качестве обходного решения используется systemd-genie. Дополнительные сведения о systemd-genie можно найти в разделе Установка systemd genie. В инструкциях по установке скрипта и инструкциях по установке вручную описана установка пакета SDK Service Fabric и systemd-genie.
Установка с помощью скрипта
Для удобства предоставлен скрипт, позволяющий установить общий пакет SDK Service Fabric, а также интерфейс командной строки sfctl. При запуске скрипта предполагается, что вы принимаете условия использования лицензий на все устанавливаемое программное обеспечение. Кроме того, вы можете выполнить действия по установке вручную, описанные в следующем разделе, в котором будут представлены связанные лицензии, а также устанавливаемые компоненты.
После успешного выполнения скрипта можно сразу перейти к разделу Настройка локального кластера.
sudo curl -s https://raw.githubusercontent.com/Azure/service-fabric-scripts-and-templates/master/scripts/SetupServiceFabric/SetupServiceFabric.sh | sudo bash
Установка вручную
Чтобы установить среду выполнения Service Fabric и общий пакет SDK вручную, ознакомьтесь с остальными разделами руководства.
Откройте окно терминала.
Вход в дистрибутив WSL2 Linux
Настройте systemd-genie, как было описано в разделе Установка systemd genie (если systemd-genie уже настроена, можно перейти к следующему шагу)
Вход в пространство имен genie с помощью genie -s
В пространстве имен genie пакет SDK SF также можно установить, как описано в разделе "Установка скриптов" или "Установка вручную" в разделе Настройка локального кластера Linux
Предоставьте права sudo текущему пользователю, добавив запись
<USERNAME\> ALL = (ALL) NOPASSWD:ALL
в /etc/sudoers
Настройка локального кластера
Для управления из узлов с системой Windows рекомендуется использовать Service Fabric в виртуальной машине WSL2
Установка пакета SDK Service Fabric (версия 6.0 или более поздней) на узле Windows
В системе Windows кластером можно управлять с помощью средства ServiceFabricLocalClusterManager, которое входит в состав пакета SDK SF.
Параметр управления локальным кластером Linux включен только в том случае, если: а) Виртуальная машина WSL2 запущена, б) Пакеты Systemd-genie, servicefabricruntime и servicefabricsdkcommon правильно установлены внутри виртуальной машины; и в) Systemd-genie находится в состоянии выполнения. Из этого средства можно настроить локальный кластер Linux или переключиться в него.
Еще одним способом настройки кластера Linux является развертывание с помощью скриптов настройки кластера, предоставляемых в составе пакета SDK SF.
Откройте веб-браузер и перейдите в Service Fabric Explorer
http://localhost:19080
. Когда кластер запустится, вы увидите панель мониторинга Service Fabric Explorer. Настройка кластера может занять несколько минут. Если ваш браузер не может открыть URL-адрес или Service Fabric Explorer не отображается в кластере, подождите несколько минут и повторите попытку. Вы также можете увидеть кластер в ServiceFabricExplorer, который предоставляется в составе пакета SDK SF.После успешного запуска кластера к локальному кластеру можно подключиться в PowerShell и Visual Studio.
Установка вручную с помощью пользовательского пакета ServiceFabric и ServieFabricSdkCommon Debian
Чтобы вручную установить Service Fabric из пользовательских или загруженных пакетов debian, выполните инструкции в оставшейся части этого руководства.
Откройте окно терминала.
Вход в дистрибутив WSL2 Linux
Клонируйте файл настройки
sudo curl -s https://raw.githubusercontent.com/Azure/service-fabric-scripts-and-templates/master/scripts/SetupServiceFabric/SetupServiceFabric.sh > SetupServiceFabric.sh
- Сделайте файл исполняемым
sudo chmod +x SetupServiceFabric.sh
- Запустите скрипт настройки, указав путь к локальным пакетам debian. Убедитесь, что предоставленные пути являются действительными. Ниже приведен пример:
sudo ./SetupServiceFabric.sh --servicefabricruntime=/mnt/c/Users/testuser/Downloads/servicefabric.deb --servicefabricsdk=/mnt/c/Users/testuser/Downloads/servicefabric_sdkcommon.deb
Известные ограничения
Ниже перечислены известные ограничения для локального кластера, запущенного внутри дистрибутива Linux:
- В настоящее время поддерживается только дистрибутив Ubuntu-18.04.
- Чтобы обеспечить беспроблемную работу с локальным диспетчером кластеров и Visual Studio, рекомендуется управлять кластером из скриптов PowerShell или LocalClusterManager на узле Windows.
Вопросы и ответы
Какие дистрибутивы Linux поддерживаются для настройки локального кластера SF?
В настоящее время для локального кластера Linux поддерживается только Ubuntu-18.04.Можно ли кластер Windows и Linux SF запускать параллельно с установкой WSL2?
Нет, одновременно можно запустить только один локальный кластер, либо на узле, либо в гостевой виртуальной машине.Как развернуть локальный кластер Linux в одним узлом?
Локальный кластер Linux с одним узлом или пятью узлами можно развернуть из локального диспетчера кластеров из параметров меню. При развертывании из скрипта установки по умолчанию развертывается кластер с пятью узлами, а для развертывания кластера с одним узлом необходимо передать параметр CreateOneNodeCluster.Как подключиться к локальному кластеру Linux в PowerShell и Visual Studio?
Если локальный кластер Linux запущен и работает, то командлет connect-servicefabriccluster должен подключаться к этому кластеру автоматически. Соответственно Visual Studio будут автоматически обнаруживать этот локальный кластер. К этому кластеру также можно подключиться, предоставив конечную точку кластера в PowerShell или Visual Studio.Где находятся данные кластера SF для локального кластера Linux?
При использовании дистрибутива Ubuntu-18.04 данные SF находятся по адресу \wsl$\Ubuntu-18.04\home\sfuser\sfdevcluster при доступе из узла Windows.