Руководство по развертыванию приложения Service Fabric в кластере в Azure

Это руководство является частью двух в серии. Узнайте, как развернуть приложение Azure Service Fabric в новом кластере в Azure.

В этом руководстве описано следующее:

  • Создание кластера
  • Развертывание приложения в удаленном кластере с помощью Visual Studio

В серии учебников показано, как:

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

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

Примечание.

Бесплатная учетная запись может не соответствовать требованиям для создания виртуальной машины. Чтобы завершить работу с руководством, необходимо создать виртуальную машину. Кроме того, учетная запись, которая не является рабочей или учебной учетной записью, может столкнуться с проблемами разрешений при создании сертификата в хранилище ключей, связанном с кластером. Если при создании сертификата возникает ошибка, используйте портал Azure для создания кластера.

Скачивание примера приложения для голосования

Если вы не создавали пример приложения для голосования в первой части этой серии руководств, вы можете скачать его. В командном окне выполните следующий код, чтобы клонировать пример репозитория приложений на локальный компьютер:

git clone https://github.com/Azure-Samples/service-fabric-dotnet-quickstart 

Откройте Visual Studio с помощью параметра "Запуск от имени администратора ". Откройте приложение и создайте приложение.

Создание кластера

Теперь, когда приложение готово, создайте кластер Service Fabric и разверните приложение в кластере. Кластер Service Fabric — это подключенный к сети набор виртуальных машин или физических компьютеров, в которых развертываются микрослужбы и управляют ими.

В этом руководстве вы создадите новый тестовый кластер с тремя узлами в интегрированной среде разработки Visual Studio и опубликуете приложение в этом кластере. Сведения о создании рабочего кластера см. в статье "Создание и управление кластером". Вы также можете развернуть приложение в существующем кластере, созданном ранее с помощью портал Azure, скриптов Azure PowerShell, скриптов Azure CLI или шаблона Azure Resource Manager.

Примечание.

Приложение для голосования, как и многие другие приложения, используйте обратный прокси-сервер Service Fabric для обмена данными между службами. Кластеры, созданные с помощью Visual Studio, имеют обратный прокси-сервер по умолчанию. Для работы приложения для голосования при развертывании в существующий кластер вы должны включить обратный прокси-сервер в кластере.

Поиск конечной точки службы VotingWeb

Интерфейсная веб-служба приложения Voting прослушивает определенный порт (порт 8080, если вы выполнили действия, описанные в одной из этой серии руководств). Если приложение развертывается в кластере в Azure, то приложение и кластер запускаются под контролем Azure Load Balancer. Порт приложения должен открываться в подсистеме балансировки нагрузки Azure для кластера с помощью правила. Правило отправляет входящий трафик подсистемы балансировки нагрузки в веб-службу. Порт задается в файле VotingWeb/PackageRoot/ServiceManifest.xml в элементе Endpoint .

<Endpoint Protocol="http" Name="ServiceEndpoint" Type="Input" Port="8080" />

Обратите внимание на конечную точку службы, которую вы используете на следующем шаге. При развертывании в существующем кластере откройте этот порт, создав правило балансировки нагрузки и пробу в подсистеме балансировки нагрузки Azure с помощью скрипта Azure PowerShell или с помощью подсистемы балансировки нагрузки для этого кластера в портал Azure.

Создание тестового кластера в Azure

В Обозреватель решений щелкните правой кнопкой мыши голосование и выберите "Опубликовать".

В Конечной точке подключения выберите Создать новый кластер. Если вы развертываете в существующем кластере, выберите конечную точку кластера в списке. Откроется диалоговое окно "Создание кластера Service Fabric".

На вкладке "Кластер" введите имя кластера (например, mytestcluster), выберите подписку, выберите регион для кластера (например, южная часть США), введите количество узлов кластера (мы рекомендуем три узла для тестового кластера) и введите группу ресурсов (напримерmytestclustergroup, южную часть США). Выберите Далее.

Снимок экрана: вкладка

На вкладке "Сертификат" введите пароль и выходной путь для сертификата кластера. Самозаверяющий сертификат создается в виде файла PFX и сохраняется в указанном выходном пути. Он используется для обеспечения безопасности как между узлами, так и между клиентами. Не используйте самозаверяющий сертификат для кластеров в рабочей среде. Visual Studio использует этот сертификат для проверки подлинности в кластере и развертывания приложений.

Установите флажок импорта сертификата, чтобы установить PFX в хранилище сертификатов CurrentUser\My компьютера. Затем выберите Далее.

Снимок экрана: вкладка

На вкладке "Сведения о виртуальной машине" введите имя пользователя и пароль для учетной записи администратора кластера. Выберите значение образа виртуальной машины для узлов кластера и значение размера виртуальной машины для каждого узла кластера.

Снимок экрана: вкладка

Выберите вкладку "Дополнительно ". Для портов введите конечную точку службы VotingWeb на предыдущем шаге (например, 8080). При создании кластера эти порты приложения открываются в подсистеме балансировки нагрузки Azure для переадресации трафика в кластер.

Выберите Создать, чтобы создать кластер. Процесс занимает несколько минут.

Снимок экрана: вкладка

Публикация приложения в кластере

Когда новый кластер будет готов, вы можете развернуть приложение voting непосредственно в Visual Studio.

В Обозреватель решений щелкните правой кнопкой мыши голосование и выберите "Опубликовать". Откроется диалоговое окно публикации .

Для конечной точки подключения выберите конечную точку для кластера, созданного на предыдущем шаге. Например, mytestcluster.southcentralus.cloudapp.azure.com:19000. При выборе дополнительных параметров подключения сведения о сертификате заполняются автоматически.

Выберите Опубликовать.

Снимок экрана: публикация приложения Service Fabric.

После развертывания приложения откройте браузер и введите адрес кластера, за которым следует :8080. Кроме того, можно ввести другой порт, если он настроен. Например, http://mytestcluster.southcentralus.cloudapp.azure.com:8080. Приложение выполняется в кластере в Azure. На веб-странице голосования попробуйте добавить и удалить варианты голосования.

Снимок экрана: пример голосования Service Fabric.

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

Перейдите к следующему руководству: