Modernización de aplicaciones web de ASP.NET a Azure Kubernetes Service (versión preliminar)

En este artículo se muestra cómo migrar aplicaciones web de ASP.NET a gran escala a Azure Kubernetes Service mediante Azure Migrate. Actualmente, este flujo solo admite aplicaciones web de ASP.NET que se ejecutan en VMware. Para otros entornos, siga estos pasos.

Nota

En los tutoriales se muestra la ruta de implementación más sencilla para un escenario, de modo que pueda configurar rápidamente una prueba de concepto. En ellos se usan las opciones predeterminadas siempre que es posible y no muestran todos los valores y rutas de acceso posibles.

En este tutorial, aprenderá a:

  • Elija y prepare aplicaciones web de ASP.NET a escala para la migración a Azure Kubernetes Service mediante el flujo integrado de Azure Migrate.
  • Configure las opciones de destino, como el número de instancias de aplicación para ejecutar y replicar las aplicaciones.
  • Ejecute migraciones de prueba para asegurarse de que las aplicaciones se pongan en marcha correctamente.
  • Ejecute una migración completa de las aplicaciones a AKS.

Prerrequisitos

Antes de empezar este tutorial, debe contar con lo siguiente:

Limitaciones

  • Puede migrar aplicaciones de ASP.NET que usan Microsoft .NET Framework 3.5 o posterior.
  • Puede migrar servidores de aplicaciones que ejecutan Windows Server 2012 R2 o posterior (los servidores de aplicaciones deben ejecutar la versión 5.1 de PowerShell).
  • Las Aplicaciones se deben ejecutar en Internet Information Services (IIS) versión 7.5 o posterior.

Habilitación de la replicación

Una vez evaluadas las aplicaciones web, puede migrarlas mediante el flujo de migración integrado de Azure Migrate. El primer paso de este proceso es configurar y comenzar la replicación de las aplicaciones web.

Especificación de la intención

  1. Vaya a >Servidores, bases de datos y aplicaciones web>Herramientas de migración>Migración y modernización, del proyecto de Azure Migrate, y seleccione Replicar.

    Screenshot of the Replicate option selected.

  2. En la pestaña Especificar intención, >¿Qué desea migrar?, seleccione aplicaciones web de ASP.NET en la lista desplegable.

  3. En ¿A dónde quiere emigrar?, seleccione Azure Kubernetes Service (AKS).

  4. En tipo de Virtualization , seleccione VMware vSphere.

  5. En Dispositivo local, elija el dispositivo que detectó las aplicaciones web deseadas en vSphere.

  6. Seleccione Continuar.

    Screenshot of the specify intent tab.

Elegir entre aplicaciones detectadas

En Replicar>Aplicaciones web, puede ver una lista de aplicaciones ASP.NET detectadas en su entorno.

Screenshot of the Web apps tab on the Replicate tab.

  1. Elija una o varias aplicaciones que se deben replicar.

  2. La columna Estado de modernización indica la preparación de la aplicación para que se ejecute en AKS. Esto puede tomar uno de los siguientes valores: Listo, Errores, Replicación en curso.

  3. Seleccione la aplicación y seleccione el vínculo Configuraciones de aplicaciones para abrir la pestaña Configuraciones de la aplicación. Esto proporciona la lista de atributos detectados a partir de los archivos de configuración detectados. Escriba los valores de atributo necesarios y seleccione Guardar. Estas configuraciones se almacenarán directamente en el clúster de destino como secretos o se pueden montar mediante Azure Key Vault. Esto se puede configurar en los valores avanzados.

    Screenshot of the Application configurations tab.

  4. Seleccione la aplicación y el vínculo Directorios de aplicaciones para abrir la pestaña Directorios de aplicaciones. Proporcione la ruta de acceso a carpetas o archivos que deben copiarse para que se ejecute la aplicación y seleccione Guardar. En función de la opción seleccionada en la lista desplegable, estos artefactos se copian directamente en la imagen de contenedor o se montan como un volumen persistente en el clúster a través del recurso compartido de archivos de Azure. Si se elige el volumen persistente, el destino se puede configurar en la configuración avanzada.

    Screenshot of the Application directories tab.

  5. Para las aplicaciones que usan la autenticación de Windows, indicada por el tipo de autenticación, puede configurar gMSA V2 en el clúster de AKS de destino.

    Screenshot of the gMSA configuration tab.

    Configuración Comentarios
    Nombre de cuenta Nombre de la cuenta de gMSA que se va a usar. Si la cuenta no existe, se crea automáticamente una nueva cuenta con este nombre.
    Nombre de usuario de la cuenta Nombre de usuario del dominio estándar que está autorizado para acceder a la gMSA configurada en el controlador de dominio. Si el nombre de usuario especificado no existe, se crea automáticamente un nuevo usuario de dominio estándar.
    Contraseña de la cuenta Contraseña del usuario anterior.
    Servidor DNS de dominio Dirección IP del servidor DNS que puede resolver el nombre de dominio de Active Directory.
    FQDN de dominio Nombre de dominio completo del dominio de Active Directory.
    Dirección del controlador de dominio Dirección IP del controlador de dominio de Active Directory. La conexión se establece para permitir de forma remota que el usuario de dominio especificado recupere las credenciales de la gMSA especificada.
    Nombre de usuario del administrador de dominio Nombre de usuario de un usuario que tiene privilegios suficientes para validar de forma remota la cuenta de gMSA y el usuario de dominio.
    Contraseña del administrador de dominio Contraseña del usuario administrador anterior.
  6. Seleccione Siguiente.

Nota:

La ruta de acceso de origen y el valor de atributo de las configuraciones de la aplicación y los directorios de aplicaciones deben tener menos de 3000 caracteres de longitud. Esto se puede traducir aproximadamente a alrededor de 15 entradas (inclusive de configuraciones y directorios) de longitud de caracteres de aproximadamente 200 cada una.

Configuración de los ajustes de destino

En Replicar>Configuración de destino, puede configurar el destino al que se migrarán las aplicaciones.

Screenshot of the Target settings tab on the Replicate tab.

  1. Elija la suscripción, el grupo de recursos y el recurso del registro de contenedor en el que se deben insertar las imágenes de contenedor de la aplicación.
  2. Elija la suscripción, el grupo de recursos y el recurso de clúster de AKS en el que se debe implementar la aplicación.
  3. Seleccione Next (Siguiente).

Nota

Solo se muestran los clústeres de AKS con nodos de Windows.

Configurar la implementación

En Replicar>Configuración de implementación, puede configurar la aplicación en el clúster de AKS.

Screenshot of the Deployment settings tab on the Replicate tab.

  1. Los valores predeterminados se proporcionan en función de la detección de aplicaciones.
  2. En la opción Réplica, elija el número de instancias de aplicación para cada aplicación.
  3. En la opción Equilibrador de carga, elija Externo si es necesario acceder a la aplicación a través de Internet. Si se elige Interno, solo se puede acceder a la aplicación dentro de la red virtual del clúster de AKS.
  4. Seleccione Next (Siguiente).

Configurar ajustes avanzados

Si una o varias aplicaciones tenían configuraciones de aplicaciones o directorios actualizados en Replicar>Aplicaciones web, entonces Replicar>Avanzada se usa para proporcionar configuraciones necesarias adicionales.

Screenshot of the Advanced settings tab on the Replicate tab.

  1. Si se proporcionaron configuraciones de aplicación, elija almacenarlas como secretos nativos de Kubernetes o en Azure Key Vault mediante el controlador CSI del almacén de secretos. Asegúrese de que el clúster de destino tenga habilitado el complemento del controlador del almacén de secretos.
  2. Si se proporcionaron directorios de aplicaciones con una opción de almacenamiento persistente, seleccione un recurso compartido de archivos de Azure para almacenar estos archivos.
  3. Seleccione Next (Siguiente).

Revisión e inicio de la replicación

Revise las selecciones y realice cualquier otro cambio necesario. Para ello, vaya a la pestaña derecha de la pestaña Replicar. Después de revisar, seleccione Replicar.

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

Preparación para la migración

Una vez que comience la replicación, Azure Migrate crea un trabajo de replicación al que se puede acceder desde el proyecto.

  1. Vaya a >Servidores, bases de datos y aplicaciones web>Migración y modernización>Herramientas de migración del proyecto de Azure Migrate, y seleccione Información general.

    Screenshot of the Overview option selected.

  2. Seleccione Azure Migrate: Migración de servidor centro >Modernización (versión preliminar)>Trabajos.

    Screenshot of the Jobs tab in the migration hub.

  3. Seleccione Azure Kubernetes Service (AKS) como destino de replicación. Azure Migrate creará un trabajo de replicación para cada aplicación de ASP.NET replicada. Seleccione Crear o actualizar el trabajo de implementación de carga de trabajo de tipo Implementación de carga de trabajo.

    Screenshot of selecting the replication jobs.

  4. Seleccione el recurso de Destino. Todos los pasos previos a la migración se pueden configurar aquí.

    Screenshot of selecting the target resource within the replication job.

  5. Una vez completada la replicación, el Estado de replicación será Completado y el Estado general será Compilación de imagen pendiente.

Revisión de la imagen de contenedor y los manifiestos de Kubernetes

En la pestaña Configuración de destino, se proporcionarán vínculos al archivo de Docker y los manifiestos de Kubernetes.

Screenshot of the target settings in the target resource.

  1. Seleccione el vínculo de revisión de archivos de Docker para abrir el editor. Revise y realice cambios según sea necesario. Seleccione Guardar.

    Screenshot of the docker file editor in the target settings.

  2. Seleccione el vínculo de revisión de Especificaciones de implementación para abrir el editor. Contiene el archivo de manifiesto de Kubernetes que contiene todos los recursos que se implementarán, incluidos StatefulSet, Service, ServiceAccount, etc. Revise y realice cambios según sea necesario. Seleccione Guardar.

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

  3. En la pestaña Información general, seleccione Compilar imagen de contenedor para compilar e insertar la imagen de contenedor en el registro de contenedor proporcionado.

  4. Una vez compilada la imagen, el Estado general cambiará a Listo para migrar.

    Screenshot of the Target resource post building container image.

Ejecución de una migración de prueba

Con la imagen de contenedor lista, ejecute una migración de prueba para asegurarse de que la aplicación se pone en marcha correctamente en AKS.

  1. En la pestaña Información general, seleccione Probar migración y, a continuación, seleccione para confirmar.
  2. Una vez completada la migración de prueba, compruebe que las cargas de trabajo se ejecutan en el clúster de AKS. Si se eligió la opción de equilibrador de carga externo durante el proceso de replicación, la aplicación debe exponerse a Internet a través de un servicio de tipo loadbalancer con una dirección IP pública asignada.
  3. Después de comprobar que la aplicación funciona, limpie la migración de prueba seleccionando Limpiar migración de pruebas.

Si se produce un error en la migración de prueba:

  1. Vaya a Azure Migrate: Migración de servidor centro >Modernización (versión preliminar)>Trabajos.

  2. Seleccione el trabajo Iniciar migración de prueba que produjo un error.

    Screenshot of the failed test migrate job.

  3. Seleccione el vínculo de tarea con errores para ver posibles causas de error y recomendaciones.

    Screenshot of the failed test migrate task.

Migrar sus aplicaciones a AKS

La aplicación está lista para la migración:

  1. En la pestaña Información general, seleccione Migrary, a continuación, seleccione para confirmar.

    Screenshot of the target resource ready for migration.

  2. De forma similar al flujo de trabajo de migración de prueba, compruebe que las cargas de trabajo se ejecutan en el clúster de AKS.

  3. La aplicación ahora se ha migrado correctamente. Si desea que el dispositivo la vuelva a detectar y que esté disponible para la migración, seleccione Completar migración.

Pasos siguientes

Después de migrar correctamente las aplicaciones a AKS, puede explorar los siguientes artículos para optimizar las aplicaciones para la nube: