Модернизация веб-приложений ASP.NET для службы Azure Kubernetes (предварительная версия)

В этой статье показано, как перенести ASP.NET веб-приложения на Служба Azure Kubernetes с помощью службы "Миграция Azure". В настоящее время этот поток поддерживает только ASP.NET веб-приложения, работающие в VMware. Для других сред выполните следующие действия.

Примечание.

В руководствах показан простейший путь развертывания сценария, использование которого позволяет быстро настроить проверку концепции. В них используются значения по умолчанию (при возможности) и описаны только некоторые возможные параметры и пути.

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

  • Выберите и подготовьте ASP.NET веб-приложения в масштабе для миграции в Служба Azure Kubernetes с помощью интегрированного потока в службе "Миграция Azure".
  • Настройте целевые параметры, такие как количество экземпляров приложений для запуска и реплика te приложений.
  • Выполните тестовые миграции, чтобы убедиться, что приложения работают правильно.
  • Выполните полную миграцию приложений в AKS.

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

Прежде чем приступить к работе с этим руководством, необходимо устранить следующее:

Ограничения

  • Приложения ASP.NET, использующие платформу Microsoft .NET версии 3.5 и выше.
  • Вы можете перенести серверы приложений под управлением Windows Server 2012 R2 или более поздней версии (серверы приложений должны работать под управлением PowerShell версии 5.1).
  • Приложения должны работать под управлением служб IIS версии не ниже 7.5.

Включение репликации

После оценки веб-приложений их можно перенести с помощью интегрированного потока миграции в службе "Миграция Azure". Первым шагом этого процесса является настройка и начало реплика tion веб-приложений.

Укажите намерение

  1. Перейдите к серверам проектов >службы "Миграция Azure", базам данных и средствам>миграции веб-приложений>и модернизации, выберите "Реплицировать".

    Screenshot of the Replicate option selected.

  2. На вкладке "Указание намерения" выберите "Что нужно перенести?", >выберите ASP.NET веб-приложения из раскрывающегося списка.

  3. В разделе Куда вы хотите выполнить миграцию? выберите Служба Azure Kubernetes (AKS).

  4. В поле Тип виртуализации выберите VMware vSphere.

  5. В локальной (модуль) выберите (модуль), которые обнаружили нужные веб-приложения в vSphere.

  6. Выберите Continue (Продолжить).

    Screenshot of the specify intent tab.

Сделайте выбор из списка обнаруженных приложений

В реплицируемых>веб-приложениях можно просмотреть список ASP.NET приложений, обнаруженных в вашей среде.

Screenshot of the Web apps tab on the Replicate tab.

  1. Выберите одно или несколько приложений, которые нужно реплицировать.

  2. Столбец состояния модернизации указывает на готовность приложения работать в AKS. Это может занять одно из следующих значений: Ready, Error(s), Replication in Progress.

  3. Выберите приложение и выберите ссылку "Конфигурация приложения", чтобы открыть вкладку "Конфигурации приложений". Это предоставляет список атрибутов, обнаруженных из обнаруженных файлов конфигурации. Введите необходимые значения атрибута и нажмите кнопку "Сохранить". Эти конфигурации будут храниться непосредственно в целевом кластере в виде секретов или подключаться с помощью Azure Key Vault. Это можно настроить в расширенных параметрах.

    Screenshot of the Application configurations tab.

  4. Выберите приложение и щелкните ссылку Каталоги приложений , чтобы открыть вкладку Каталоги приложений . Укажите путь к папкам или файлам, которые необходимо скопировать для запуска приложения, и нажмите кнопку "Сохранить". В зависимости от варианта, выбранного в раскрывающемся списке, эти артефакты копируются непосредственно в образ контейнера или подключаются в качестве постоянного тома в кластере через общую папку Azure. Если выбран постоянный том, целевой объект можно настроить с помощью дополнительных параметров.

    Screenshot of the Application directories tab.

  5. Для приложений, использующих проверка подлинности Windows, указанных типом проверки подлинности, можно настроить gMSA V2 в целевом кластере AKS.

    Screenshot of the gMSA configuration tab.

    Параметр Комментарии
    Имя учетной записи Имя используемой учетной записи gMSA. Если учетная запись не существует, новая учетная запись с этим именем создается автоматически.
    Имя пользователя учетной записи Имя пользователя стандартного домена, авторизованного для доступа к gMSA, настроенной на контроллере домена. Если указанное имя пользователя не существует, новый пользователь домена уровня "Стандартный" создается автоматически.
    Пароль учетной записи Пароль указанного выше пользователя.
    DNS-сервер домена IP-адрес DNS-сервера, который может разрешить доменное имя Active Directory.
    Полное доменное имя домена Полное доменное имя домена Active Directory.
    Адрес контроллера домена IP-адрес контроллера домен Active Directory. Подключение ion устанавливается для удаленного разрешения указанному пользователю домена получать учетные данные для указанной gMSA.
    Имя администратора домена Имя пользователя с достаточными привилегиями для удаленной проверки учетной записи gMSA и пользователя домена.
    Пароль администратора домена Пароль для пользователя администратора выше.
  6. Выберите Далее.

Примечание.

Исходный путь и значение атрибута конфигураций приложений и каталогов приложений должны быть равным 3000 символам. Это может быть примерно преобразовано в около 15 записей (включая конфигурации и каталоги) длины символов около 200.

Настройка параметров целевого объекта

В параметрах реплицируемых>целевых объектов можно настроить целевой объект, в который будут перенесены приложения.

Screenshot of the Target settings tab on the Replicate tab.

  1. Выберите подписку, группу ресурсов и ресурс реестра контейнеров, в который следует отправить образы контейнеров приложения.
  2. Выберите подписку, группу ресурсов и ресурс кластера AKS, в которых должно быть развернуто приложение.
  3. Выберите Далее.

Примечание.

Перечислены только кластеры AKS с узлами Windows.

Настройка параметров развертывания

В параметрах репликации> развертывания можно настроить приложение в кластере AKS.

Screenshot of the Deployment settings tab on the Replicate tab.

  1. Значения по умолчанию предоставляются на основе обнаружения приложений.
  2. В параметре Реплика выберите количество экземпляров для каждого приложения.
  3. В разделе Подсистема балансировки нагрузки выберите Внешний, если к приложению требуется доступ через Интернет. Если выбран вариант Внутренний, доступ к приложению можно получить только в виртуальной сети кластера AKS.
  4. Выберите Далее.

Настройка расширенных настроек

Если для одного или нескольких приложений были обновлены конфигурации или каталоги в разделе Репликация>веб-приложений, то для предоставления дополнительных необходимых конфигураций используется Репликация>Расширенные параметры .

Screenshot of the Advanced settings tab on the Replicate tab.

  1. Если были предоставлены конфигурации приложений, выберите их как собственные секреты Kubernetes, так и в Azure Key Vault с помощью драйвера CSI хранилища секретов. Убедитесь, что в целевом кластере включена надстройка драйвера хранилища секретов.
  2. Если каталогам приложений был задан параметр постоянного хранения, выберите общую папку Azure для хранения этих файлов.
  3. Выберите Далее.

Проверка и запуск репликации

Просмотрите выбранные параметры и внесите другие необходимые изменения; для этого перейдите на правую вкладку на вкладке Репликация. Проверьте правильность настроек и выберите Реплицировать.

Screenshot of the Review + start replication tab on the Replicate tab.

Подготовка к переносу

После начала реплика миграция Azure создает задание реплика tion, к которому можно получить доступ из проекта.

  1. Перейдите к серверам проектов >службы "Миграция Azure", базам данных и средствам>миграции веб-приложений>и модернизации, выберите "Обзор".

    Screenshot of the Overview option selected.

  2. Выберите "Миграция Azure": задания модернизации центра> миграции сервера (предварительная версия)>.

    Screenshot of the Jobs tab in the migration hub.

  3. Выберите Служба Azure Kubernetes (AKS) в качестве целевого объекта реплика tion. Служба "Миграция Azure" создаст одно задание репликации для каждого приложения ASP.NET, подлежащего репликации. Выберите задание создания или обновления задания развертывания рабочей нагрузки типа "Развертывание рабочей нагрузки".

    Screenshot of selecting the replication jobs.

  4. Выберите целевой ресурс. Здесь можно настроить все шаги перед миграцией.

    Screenshot of selecting the target resource within the replication job.

  5. После завершения реплика tion состояние репликации будет завершено, а общее состояние будет ожидающей сборки образа.

Проверка образа контейнера и манифестов Kubernetes

На вкладке Параметры целевого объекта будут предоставлены ссылки на файл Docker и манифесты Kubernetes.

Screenshot of the target settings in the target resource.

  1. Выберите ссылку проверки файла Docker, чтобы открыть редактор. Проверьте файл и при необходимости внесите изменения. Выберите Сохранить.

    Screenshot of the docker file editor in the target settings.

  2. Выберите ссылку проверки спецификаций развертывания, чтобы открыть редактор. Это содержит файл манифеста Kubernetes, содержащий все ресурсы, которые будут развернуты, включая StatefulSet, ServiceServiceAccount и т. д. Просмотрите и внесите изменения по мере необходимости. Выберите Сохранить.

    Screenshot of the Kubernetes manifest file editor in the target settings.

  3. На вкладке "Обзор" выберите "Создать образ контейнера", чтобы создать и отправить образ контейнера в предоставленный реестр контейнеров.

  4. После создания образа общее состояние изменится на Готово к миграции.

    Screenshot of the Target resource post building container image.

Выполнение тестовой миграции

Когда образ контейнера будет готов, выполните тестовую миграцию, чтобы убедиться, что приложение правильно работает в AKS.

  1. На вкладке Обзор выберите Тестовая миграция, а затем — Да для подтверждения.
  2. После завершения тестовой миграции убедитесь, что в кластере AKS выполняются рабочие нагрузки. Если во время процесса реплика вы выбрали параметр внешней подсистемы балансировки нагрузки, приложение должно быть предоставлено в Интернете через службу типа loadbalancer с назначенным общедоступным IP-адресом.
  3. Убедившись, что приложение работает, очистите тестовую миграцию, выбрав "Очистить тестовую миграцию".

Если тестовая миграция завершилась сбоем:

  1. Перейдите к службе "Миграция Azure": задания центра> миграции сервера (предварительная версия)>.

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

    Screenshot of the failed test migrate job.

  3. Щелкните ссылку на эту задачу, чтобы просмотреть возможные причины сбоя и рекомендации.

    Screenshot of the failed test migrate task.

Перенос приложений в AKS

Приложение, наконец, готово к миграции:

  1. На вкладке Обзор выберите Миграция, а затем — Да для подтверждения.

    Screenshot of the target resource ready for migration.

  2. Аналогично последовательности действий тестовой миграции, после завершения убедитесь, что в кластере AKS выполняются рабочие нагрузки.

  3. Приложение успешно перенесено. Если вы хотите, чтобы (модуль) снова обнаружить его и сделать его доступным для миграции, нажмите кнопку "Завершить миграцию".

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

После успешной миграции приложений в AKS можно ознакомиться со следующими статьями, чтобы оптимизировать приложения для облака: