Rediseña las aplicaciones de Linux en contenedores

La integración de Migrate to Containers en Cloud Code te permite modernizar los componentes de aplicaciones de Linux que se ejecutan en máquinas virtuales (VMs) y generar artefactos que se pueden implementar en Google Kubernetes Engine y Cloud Run, directamente en tu IDE, mediante una máquina de Linux.

En esta guía, aprenderás a rediseñar una aplicación existente en un contenedor de GKE con la extensión de Cloud Code en tu IDE en una máquina Linux.

Esta guía está dirigida a los desarrolladores que usan una máquina Linux que tienen conocimientos prácticos de VS Code, están familiarizados con Google Cloud y tienen una VM que ejecuta el componente de la aplicación.

Antes de comenzar

  1. Accede a tu cuenta de Google Cloud. Si eres nuevo en Google Cloud, crea una cuenta para evaluar el rendimiento de nuestros productos en situaciones reales. Los clientes nuevos también obtienen $300 en créditos gratuitos para ejecutar, probar y, además, implementar cargas de trabajo.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Asegúrate de que la facturación esté habilitada para tu proyecto de Google Cloud.

  4. Habilita la API de Google Kubernetes Engine.

    Habilita la API

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  6. Asegúrate de que la facturación esté habilitada para tu proyecto de Google Cloud.

  7. Habilita la API de Google Kubernetes Engine.

    Habilita la API

  8. Instala la extensión de Cloud Code si aún no lo hiciste.
  9. Crea y configura un clúster de GKE.
  10. Asegúrate de saber qué tipo de migración quieres realizar. Para obtener más información sobre las cargas de trabajo compatibles, consulta Revisa las versiones compatibles del SO, las cargas de trabajo y Kubernetes.
  11. Prepara tu fuente y las máquinas locales para la modernización. Cloud Code solo es compatible con Linux para la modernización.

Agrega una fuente de rediseño de plataforma

En esta sección, instalarás la CLI del cliente de descubrimiento de Migration Center (mcdc) y otras herramientas de Migrate to Containers en tu máquina local, si aún no lo has hecho, y agregarás una fuente de cambio de plataforma mediante los siguientes pasos:

  1. En la barra de actividades de tu IDE, haz clic en Cloud Code y, luego, expande el explorador Cambiar la plataforma de apps.

  2. Si es la primera vez que usas Migrate to Containers en Cloud Code, deberás instalar la CLI de mcdc y otras herramientas de Migrate to Containers en tu máquina local. Para ello, haz clic en Install tools. De lo contrario, continúa con el paso siguiente.

  3. Haz clic en Editar fuentes. Se abrirá un archivo mcdc-sources.json vacío. Agrega las fuentes en el siguiente formato:

    [
      {
        "title": "SOURCE_NAME",
        "host": "HOSTNAME",
        "user": "USER",
        "identityFile":"IDENTITY-FILE-PATH"
      }
    ]
    
  4. Para ver las fuentes que aparecen en el explorador Aplicaciones de cambio de plataforma, mantén el puntero sobre el explorador Aplicaciones de cambio de plataforma y haz clic en el botón Volver a cargar fuentes almacenado en caché que aparece.

Genera una evaluación de idoneidad (opcional)

Antes de intentar rediseñar la aplicación a un contenedor, te recomendamos que generes una evaluación de idoneidad de la fuente, que te notifique si la fuente es capaz de rediseñar la plataforma de un contenedor.

Para generar una evaluación de idoneidad de la fuente, haz clic con el botón derecho en la fuente y selecciona Assess source. Se abrirá la terminal en tu IDE y se mostrarán los registros de la evaluación de la fuente.

Cuando se completa la evaluación, mcdc genera un informe de evaluación de idoneidad en el IDE.

Si se informa que tus fuentes son Good Fit, significa que estás listo para cambiar la plataforma de tu aplicación.

Rediseña la plataforma de tu aplicación

Cloud Code crea un lugar de trabajo dedicado para cada cambio de plataforma y te permite ejecutar las tareas de Copiar, Analizar y Generar en el lugar de trabajo para automatizar los pasos del cambio de plataforma. Si ejecutas la tarea Generate sin ejecutar primero las tareas Copy y Analyze, se ejecutan automáticamente antes de generar artefactos.

En las siguientes secciones, se explica cómo realizar cada una de estas tareas y cambiar la plataforma de tu aplicación a un contenedor con Cloud Code.

Para obtener más información sobre el ciclo de vida de una migración, consulta Arquitectura de la CLI de Migrate to Containers.

Crea un nuevo lugar de trabajo de rediseño de plataforma

Antes de crear un lugar de trabajo nuevo para el cambio de plataforma, deberás saber qué parámetros de migración seleccionar para tu tipo de migración. Para obtener más información sobre los parámetros de cada tipo de migración, consulta Crea un plan de migración.

Para crear un nuevo lugar de trabajo de rediseño de plataforma con artefactos en tu IDE, sigue estos pasos:

  1. En el explorador Apps de cambio de plataforma, haz clic con el botón derecho en la fuente que deseas cambiar de plataforma y, luego, selecciona Cambiar plataforma.

  2. En la lista de opciones que aparecen en el menú, selecciona un recorrido para el cambio de plataforma.

  3. Selecciona un directorio de lugar de trabajo nuevo para rediseñar la aplicación, haz clic en Aceptar y, luego, en Crear lugar de trabajo de cambio de plataforma.

  4. Selecciona los parámetros de migración para tu tipo de migración.

  5. Opcional: Si seleccionaste el tipo de migración de WebSphere y deseas usar un analizador binario, selecciona el archivo binaryAppScanner.jar.

    La generación del espacio de trabajo tarda unos segundos. Se abrirá el directorio nuevo del lugar de trabajo en una ventana nueva del IDE.

Copia archivos de tu VM a tu lugar de trabajo

Para copiar los archivos de la VM a tu lugar de trabajo en el IDE, sigue estos pasos:

  1. Opcional: La CLI de mcdc aplica filtros para reducir el tamaño de la copia, pero puedes modificar el archivo filters.txt para reducir aún más el tamaño de la copia. Para aprender a reducir el tamaño de la copia, consulta Reduce el tamaño del sistema de archivos copiado.

  2. Presiona Ctrl + Mayúsculas + P para abrir la paleta de comandos.

  3. Busca y selecciona Tasks: Run Task y, luego, selecciona m2c: Copy. La copia de los archivos puede tardar unos minutos.

Analiza el sistema de archivos de la VM y genera un plan de migración.

Para analizar el sistema de archivos de la VM y generar un plan de migración, sigue estos pasos:

  1. Presiona Ctrl + Mayúsculas + P para abrir la paleta de comandos.

  2. Busca y selecciona Tasks: Run Task y, luego, selecciona m2c: Analyze.

    Si la tarea de análisis falla, debes modificar los parámetros de migración a través del archivo analyze-args.ini. Este archivo tiene una línea por parámetro con documentación complementaria sobre este.

    Cuando el análisis se realiza de forma correcta, Cloud Code crea un directorio llamado migration-plan, que contiene los resultados del análisis en forma de un archivo config.yaml. Puedes editar este archivo para cambiar la forma en que se generan tus artefactos.

    La estructura de tu archivo config.yaml difiere según el tipo de migración. Para obtener más información sobre los tipos de migración compatibles, consulta las siguientes páginas:

Generar artefactos

Para generar artefactos, debes ejecutar la tarea Generate en tu IDE. Si aún no ejecutaste las tareas de Copy y Analyze en las secciones anteriores, la tarea Generate las ejecutará automáticamente antes de generar artefactos.

Para generar los artefactos, sigue estos pasos:

  1. Presiona Ctrl + Mayúsculas + P para abrir la paleta de comandos.

  2. Busca y selecciona Tasks: Run Task y, luego, selecciona m2c: Generate. Esto genera los artefactos en el directorio src, que contiene un archivo skaffold.yaml que se usa para compilar y, luego, implementar una imagen de contenedor. Cada tipo de migración genera diferentes artefactos, pero todos los tipos de migración suelen crear uno o más dockerfiles y una especificación de implementación de GKE a la que hace referencia skaffold.yaml.

    Cuando se complete la generación de artefactos, habrás terminado de rediseñar la plataforma de tu aplicación.

  3. Opcional: Si deseas modificar el plan de migración, edita el archivo config.yaml y vuelve a ejecutar la tarea m2c: Generate.

    De lo contrario, si estás conforme con los resultados del cambio de plataforma, puedes proceder a ejecutar tu aplicación en un contenedor de GKE.

Ejecuta tu aplicación en un contenedor de GKE

En esta sección, ejecutarás tu aplicación rediseñada en un contenedor de GKE, verás los registros de tu aplicación en ejecución y limpiarás recursos.

Si aún no creaste y configuraste un clúster de GKE, sigue las instrucciones que se indican en Crea y configura un clúster de GKE en Cloud Code para VS Code.

Si quieres obtener más información para depurar aplicaciones de GKE, consulta Depura aplicaciones de Kubernetes con Cloud Code para VS Code.

Ejecuta y visualiza tu aplicación

Ahora que está todo configurado, puedes ejecutar tu aplicación y verla en vivo. Cloud Code detecta los cambios en tu sistema de archivos para que puedas editar y volver a ejecutar tu app en tiempo real.

Para ejecutar tu aplicación, sigue estos pasos:

  1. En la barra de estado de Cloud Code, haz clic en el nombre del proyecto activo.

    Nombre del proyecto activo en la barra de estado

  2. En el menú de Selección rápida que aparece, selecciona Run on Kubernetes.

  3. Confirma si quieres usar el contexto del clúster actual o cambia a uno diferente.

  4. Si se te solicita, elige un registro de imágenes al cual enviarlas. Si creas un registro de imágenes nuevo con gcr.io/PROJECT_ID, asegúrate de que el registro de imágenes esté en el mismo proyecto que tu clúster.

    Aparecerá una ventana de resultado en la que podrás realizar un seguimiento del progreso de tu aplicación en ejecución. También verás una transmisión en vivo de los registros de los Pods en ejecución en el resultado de la terminal.

  5. Una vez que tu aplicación se ejecuta en Kubernetes, la ventana de salida muestra una dirección IP. Si quieres usar esta dirección IP vinculada para acceder a tu aplicación, presiona Ctrl y haz clic en la dirección.

Una vez que comienza la sesión de depuración, el panel Development sessions muestra la vista de registro estructurado. Cuando comienza una tarea, aparece con un semicírculo giratorio progress_activity.

Si una tarea se realiza correctamente, aparecerá una marca de verificación check_circle junto al paso.

Si deseas ver los detalles de un paso, haz clic en él en el panel Development session (Sesión de desarrollo). El panel Resultados muestra el paso en el resultado del registro.

Limpia

Después de detener la aplicación, todos los recursos de Kubernetes que se implementaron durante la ejecución se borrarán de forma automática.

Para evitar que se apliquen cargos a tu cuenta por otros recursos que usaste en esta guía de inicio rápido, asegúrate de borrar el proyecto o el clúster que creaste si quieres volver a usarlo.

Para borrar el clúster, sigue estos pasos:

  1. Haz clic en Cloud Code y, luego, expande el Kubernetes Explorer.
  2. Mantén el puntero sobre el nombre del clúster y, luego, haz clic en open_in_new Abrir en la consola de Google Cloud.
  3. Haz clic en Borrar y, luego, en Borrar.

Para borrar tu proyecto (y los recursos asociados, incluidos los clústeres), sigue estos pasos:

  1. En la consola de Google Cloud, ve a la página Administrar recursos.

    Ir a Administrar recursos

  2. En la lista de proyectos, elige el proyecto que quieres borrar y haz clic en Borrar.
  3. En el diálogo, escribe el ID del proyecto y, luego, haz clic en Cerrar para borrar el proyecto.

Para borrar todos los archivos locales que se crearon durante el proceso de rediseño de la plataforma, haz lo siguiente:

  1. Abre la paleta de comandos (Ctrl + Mayúsculas + P).
  2. Busca y selecciona Tasks: Run Task y, luego, selecciona m2c: Cleanup.