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

Это руководство представляет собой вторую часть цикла. Здесь показано, как развернуть приложение Azure Service Fabric в новый кластер в Azure.

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

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

Из этой серии руководств вы узнаете, как выполнить следующие задачи:

предварительные требования

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

Примечание

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

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

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

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

Откройте приложение в Visual Studio с правами администратора и выполните сборку приложения.

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

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

В этом руководстве вы создадите новый тестовый кластер из трех узлов в интегрированной среде разработки Visual Studio, а затем опубликуете приложение в этом кластере. Дополнительные сведения о создании производственного кластера см. в статье Руководство. Развертывание кластера Service Fabric на платформе Windows в виртуальной сети Azure. Можно также развернуть приложение в существующий кластер (созданный ранее с помощью портала Azure) с использованием PowerShell или скриптов Azure CLI или из Шаблона Azure Resource Manager.

Примечание

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

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

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

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

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

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

Щелкните правой кнопкой мыши проект в приложении для голосования и выберите пункт Опубликовать.

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

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

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

Введите пароль и путь вывода для сертификата кластера на вкладке Сертификат. Самозаверяющий сертификат создается в виде PFX-файла и сохраняется по указанному пути вывода. Он используется для обеспечения безопасности как между узлами, так и между клиентами. Не используйте самозаверяющий сертификат для кластеров в рабочей среде. Этот сертификат используется в Visual Studio для проверки подлинности кластера и развертывания приложений. Выберите Импорт сертификата, чтобы установить PFX в хранилище сертификатов CurrentUser\My вашего компьютера. Щелкните Далее.

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

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

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

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

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

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

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

Щелкните правой кнопкой мыши проект в приложении для голосования и выберите пункт Опубликовать. Откроется диалоговое окно Publish (Опубликовать).

В поле Конечная точка подключения выберите конечную точку для кластера, созданного на предыдущем шаге. Например, "mytestcluster.southcentralus.cloudapp.azure.com:19000". Если вы выберете Расширенные параметры подключения, информация о сертификате должна быть заполнена автоматически.
Публикация приложения Service Fabric

Нажмите кнопку Опубликовать.

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

Пример для голосования Service Fabric

Дальнейшие действия

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

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

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