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:
- Si no tiene una suscripción a Azure, cree una cuenta gratuita antes de empezar.
- Completar el primer tutorial para descubrir las aplicaciones web que se ejecutan en el entorno de VMware.
- Vaya al proyecto existente o cree un nuevo proyecto.
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
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.
En la pestaña Especificar intención, >¿Qué desea migrar?, seleccione aplicaciones web de ASP.NET en la lista desplegable.
En ¿A dónde quiere emigrar?, seleccione Azure Kubernetes Service (AKS).
En tipo de Virtualization , seleccione VMware vSphere.
En Dispositivo local, elija el dispositivo que detectó las aplicaciones web deseadas en vSphere.
Seleccione Continuar.
Elegir entre aplicaciones detectadas
En Replicar>Aplicaciones web, puede ver una lista de aplicaciones ASP.NET detectadas en su entorno.
Elija una o varias aplicaciones que se deben replicar.
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.
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.
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.
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.
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. 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.
- 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.
- 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.
- 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.
- Los valores predeterminados se proporcionan en función de la detección de aplicaciones.
- En la opción Réplica, elija el número de instancias de aplicación para cada aplicación.
- 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.
- 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.
- 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.
- 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.
- 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.
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.
Vaya al recurso de destino
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.
Seleccione Azure Migrate: Migración de servidor centro >Modernización (versión preliminar)>Trabajos.
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.
Seleccione el recurso de Destino. Todos los pasos previos a la migración se pueden configurar aquí.
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.
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.
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.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.
Una vez compilada la imagen, el Estado general cambiará a Listo para migrar.
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.
- En la pestaña Información general, seleccione Probar migración y, a continuación, seleccione Sí para confirmar.
- 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. - 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:
Vaya a Azure Migrate: Migración de servidor centro >Modernización (versión preliminar)>Trabajos.
Seleccione el trabajo Iniciar migración de prueba que produjo un error.
Seleccione el vínculo de tarea con errores para ver posibles causas de error y recomendaciones.
Migrar sus aplicaciones a AKS
La aplicación está lista para la migración:
En la pestaña Información general, seleccione Migrary, a continuación, seleccione Sí para confirmar.
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.
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:
- Configure CI/CD con Azure Pipelines, Acciones de GitHub o a través de GitOps.
- Use Azure Monitor para supervisar el estado y el rendimiento de AKS y sus aplicaciones.
- Proteja la posición de seguridad del clúster de AKS y los contenedores con Microsoft Defender para contenedores.
- Optimizar Dockerfiles de Windows.
- Revise e implemente procedimientos recomendados para compilar y administrar aplicaciones en AKS.