Модернизация веб-приложений ASP.NET для службы Azure Kubernetes (предварительная версия)
В этой статье показано, как перенести ASP.NET веб-приложения на Служба Azure Kubernetes с помощью службы "Миграция Azure". В настоящее время этот поток поддерживает только ASP.NET веб-приложения, работающие в VMware. Для других сред выполните следующие действия.
Примечание.
В руководствах показан простейший путь развертывания сценария, использование которого позволяет быстро настроить проверку концепции. В них используются значения по умолчанию (при возможности) и описаны только некоторые возможные параметры и пути.
Из этого руководства вы узнаете, как выполнять следующие задачи:
- Выберите и подготовьте ASP.NET веб-приложения в масштабе для миграции в Служба Azure Kubernetes с помощью интегрированного потока в службе "Миграция Azure".
- Настройте целевые параметры, такие как количество экземпляров приложения для запуска и репликации приложений.
- Выполните тестовые миграции, чтобы убедиться, что приложения работают правильно.
- Выполните полную миграцию приложений в AKS.
Необходимые компоненты
Прежде чем приступить к работе с этим руководством, необходимо устранить следующее:
- Если у вас нет подписки Azure, создайте бесплатную учетную запись, прежде чем приступить к работе.
- Выполните первое руководство , чтобы обнаружить веб-приложения, работающие в среде VMware.
- Перейдите к существующему проекту или создайте новый проект.
Ограничения
- Приложения ASP.NET, использующие платформу Microsoft .NET версии 3.5 и выше.
- Вы можете перенести серверы приложений под управлением Windows Server 2012 R2 или более поздней версии (серверы приложений должны работать под управлением PowerShell версии 5.1).
- Приложения должны работать под управлением служб IIS версии не ниже 7.5.
Включение репликации
После оценки веб-приложений их можно перенести с помощью интегрированного потока миграции в службе "Миграция Azure". Первым шагом в этом процессе является настройка и начало репликации веб-приложений.
Укажите намерение
Перейдите к серверам проектов >службы "Миграция Azure", базам данных и средствам>миграции веб-приложений>и модернизации, выберите "Реплицировать".
На вкладке "Указание намерения" выберите "Что нужно перенести?", >выберите ASP.NET веб-приложения из раскрывающегося списка.
В разделе Куда вы хотите выполнить миграцию? выберите Служба Azure Kubernetes (AKS).
В поле Тип виртуализации выберите VMware vSphere.
В локальном устройстве выберите устройство, которое обнаружило нужные веб-приложения в vSphere.
Выберите Continue (Продолжить).
Сделайте выбор из списка обнаруженных приложений
В реплицируемых>веб-приложениях можно просмотреть список ASP.NET приложений, обнаруженных в вашей среде.
Выберите одно или несколько приложений, которые нужно реплицировать.
Столбец состояния модернизации указывает на готовность приложения работать в AKS. Это может занять одно из следующих значений: Ready, Error(s), Replication in Progress.
Выберите приложение и выберите ссылку "Конфигурация приложения", чтобы открыть вкладку "Конфигурации приложений". Это предоставляет список атрибутов, обнаруженных из обнаруженных файлов конфигурации. Введите необходимые значения атрибута и нажмите кнопку "Сохранить". Эти конфигурации будут храниться непосредственно в целевом кластере в виде секретов или подключаться с помощью Azure Key Vault. Это можно настроить в расширенных параметрах.
Выберите приложение и щелкните ссылку Каталоги приложений , чтобы открыть вкладку Каталоги приложений . Укажите путь к папкам или файлам, которые необходимо скопировать для запуска приложения, и нажмите кнопку "Сохранить". В зависимости от варианта, выбранного в раскрывающемся списке, эти артефакты копируются непосредственно в образ контейнера или подключаются в качестве постоянного тома в кластере через общую папку Azure. Если выбран постоянный том, целевой объект можно настроить с помощью дополнительных параметров.
Для приложений, использующих проверка подлинности Windows, указанных типом проверки подлинности, можно настроить gMSA V2 в целевом кластере AKS.
Параметр Комментарии Имя учетной записи Имя используемой учетной записи gMSA. Если учетная запись не существует, новая учетная запись с этим именем создается автоматически. Имя пользователя учетной записи Имя пользователя стандартного домена, авторизованного для доступа к gMSA, настроенной на контроллере домена. Если указанное имя пользователя не существует, новый пользователь домена уровня "Стандартный" создается автоматически. Пароль учетной записи Пароль указанного выше пользователя. DNS-сервер домена IP-адрес DNS-сервера, который может разрешить доменное имя Active Directory. Полное доменное имя домена Полное доменное имя домена Active Directory. Адрес контроллера домена IP-адрес контроллера домен Active Directory. Подключение устанавливается для удаленного разрешения указанному пользователю домена получать учетные данные для указанной gMSA. Имя администратора домена Имя пользователя с достаточными привилегиями для удаленной проверки учетной записи gMSA и пользователя домена. Пароль администратора домена Пароль для пользователя администратора выше. Выберите Далее.
Примечание.
Исходный путь и значение атрибута конфигураций приложений и каталогов приложений должны быть равным 3000 символам. Это может быть примерно преобразовано в около 15 записей (включая конфигурации и каталоги) длины символов около 200.
Настройка параметров целевого объекта
В параметрах реплицируемых>целевых объектов можно настроить целевой объект, в который будут перенесены приложения.
- Выберите подписку, группу ресурсов и ресурс реестра контейнеров, в который следует отправить образы контейнеров приложения.
- Выберите подписку, группу ресурсов и ресурс кластера AKS, в которых должно быть развернуто приложение.
- Выберите Далее.
Примечание.
Перечислены только кластеры AKS с узлами Windows.
Настройка параметров развертывания
В параметрах репликации> развертывания можно настроить приложение в кластере AKS.
- Значения по умолчанию предоставляются на основе обнаружения приложений.
- В параметре Реплика выберите количество экземпляров для каждого приложения.
- В разделе Подсистема балансировки нагрузки выберите Внешний, если к приложению требуется доступ через Интернет. Если выбран вариант Внутренний, доступ к приложению можно получить только в виртуальной сети кластера AKS.
- Выберите Далее.
Настройка расширенных настроек
Если для одного или нескольких приложений были обновлены конфигурации или каталоги в разделе Репликация>веб-приложений, то для предоставления дополнительных необходимых конфигураций используется Репликация>Расширенные параметры .
- Если были предоставлены конфигурации приложений, выберите их как собственные секреты Kubernetes, так и в Azure Key Vault с помощью драйвера CSI хранилища секретов. Убедитесь, что в целевом кластере включена надстройка драйвера хранилища секретов.
- Если каталогам приложений был задан параметр постоянного хранения, выберите общую папку Azure для хранения этих файлов.
- Выберите Далее.
Проверка и запуск репликации
Просмотрите выбранные параметры и внесите другие необходимые изменения; для этого перейдите на правую вкладку на вкладке Репликация. Проверьте правильность настроек и выберите Реплицировать.
Подготовка к переносу
После начала репликации служба "Миграция Azure" создает задание репликации, к которому можно получить доступ из проекта.
Переход к целевому контейнеру
Перейдите к серверам проектов >службы "Миграция Azure", базам данных и средствам>миграции веб-приложений>и модернизации, выберите "Обзор".
Выберите "Миграция Azure": задания модернизации центра> миграции сервера (предварительная версия)>.
Выберите Служба Azure Kubernetes (AKS) в качестве целевого объекта репликации. Служба "Миграция Azure" создаст одно задание репликации для каждого приложения ASP.NET, подлежащего репликации. Выберите задание создания или обновления задания развертывания рабочей нагрузки типа "Развертывание рабочей нагрузки".
Выберите целевой ресурс. Здесь можно настроить все шаги перед миграцией.
После завершения репликации состояние репликации будет завершено , а общее состояние будет отложено на сборку образа.
Проверка образа контейнера и манифестов Kubernetes
На вкладке Параметры целевого объекта будут предоставлены ссылки на файл Docker и манифесты Kubernetes.
Выберите ссылку проверки файла Docker, чтобы открыть редактор. Проверьте файл и при необходимости внесите изменения. Выберите Сохранить.
Выберите ссылку проверки спецификаций развертывания, чтобы открыть редактор. Это содержит файл манифеста Kubernetes, содержащий все ресурсы, которые будут развернуты, включая
StatefulSet
,Service
ServiceAccount
и т. д. Просмотрите и внесите изменения по мере необходимости. Выберите Сохранить.На вкладке "Обзор" выберите "Создать образ контейнера", чтобы создать и отправить образ контейнера в предоставленный реестр контейнеров.
После создания образа общее состояние изменится на Готово к миграции.
Выполнение тестовой миграции
Когда образ контейнера будет готов, выполните тестовую миграцию, чтобы убедиться, что приложение правильно работает в AKS.
- На вкладке Обзор выберите Тестовая миграция, а затем — Да для подтверждения.
- После завершения тестовой миграции убедитесь, что в кластере AKS выполняются рабочие нагрузки. Если во время репликации выбран параметр внешней подсистемы балансировки нагрузки, приложение должно быть предоставлено в Интернете через службу типа
loadbalancer
с назначенным общедоступным IP-адресом. - Убедившись, что приложение работает, очистите тестовую миграцию, выбрав "Очистить тестовую миграцию".
Если тестовая миграция завершилась сбоем:
Перейдите к службе "Миграция Azure": задания центра> миграции сервера (предварительная версия)>.
Выберите задание запуска тестовой миграции , которое завершилось сбоем.
Щелкните ссылку на эту задачу, чтобы просмотреть возможные причины сбоя и рекомендации.
Перенос приложений в AKS
Приложение, наконец, готово к миграции:
На вкладке Обзор выберите Миграция, а затем — Да для подтверждения.
Аналогично последовательности действий тестовой миграции, после завершения убедитесь, что в кластере AKS выполняются рабочие нагрузки.
Приложение успешно перенесено. Если вы хотите, чтобы устройство снова обнаружило его и сделать его доступным для миграции, нажмите кнопку "Завершить миграцию".
Следующие шаги
После успешной миграции приложений в AKS можно ознакомиться со следующими статьями, чтобы оптимизировать приложения для облака:
- Настройте CI/CD с помощью Azure Pipelines, GitHub Actions или GitOps.
- Используйте Azure Monitor для мониторинга работоспособности и производительности AKS и приложений.
- Защита состояния безопасности кластера AKS и контейнеров с помощью Microsoft Defender для контейнеров.
- Оптимизация Файлов Dockerfile для Windows.
- Ознакомьтесь с рекомендациями по созданию приложений и управлению ими в AKS.