Cambia la plataforma de las aplicaciones de Linux a contenedores

La integración de Migrate to Containers con 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 Linux.

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

Esta guía está destinada a los desarrolladores que usan una máquina Linux con conocimientos prácticos de VS Code, están familiarizados con Google Cloud y tienen una VM que ejecuta el componente de su 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. En la página del selector de proyectos de la consola de Google Cloud, selecciona o crea un proyecto de Google Cloud.

    Ir al selector de proyectos

  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. En la página del selector de proyectos de la consola de Google Cloud, selecciona o crea un proyecto de Google Cloud.

    Ir al selector de proyectos

  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 has hecho.
  9. Crea y configura un clúster de GKE.
  10. Asegúrate de saber qué tipo de migración deseas realizar. Para obtener más información sobre las cargas de trabajo compatibles, consulta Revisa las versiones compatibles de SO, de cargas de trabajo y de Kubernetes.
  11. Prepara tus máquinas locales y de origen para la modernización. Cloud Code solo es compatible con Linux para la modernización.

Cómo agregar una fuente de rediseño de plataforma

En esta sección, instalarás la CLI del cliente de descubrimiento del Centro de migraciones (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 rediseño de plataforma siguiendo estos pasos:

  1. En la barra de actividades de tu IDE, haz clic en Cloud Code y, luego, expande el explorador Replatform 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 Instalar herramientas. 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 tus fuentes en el siguiente formato:

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

Opcional: Genera una evaluación de idoneidad

Antes de intentar cambiar la plataforma de tu aplicación a un contenedor, te recomendamos que generes una evaluación de idoneidad de la fuente, que te notifica si tu fuente puede cambiar la plataforma de un contenedor.

Para generar una evaluación de idoneidad de tu fuente, haz clic con el botón derecho en la fuente y selecciona Evaluar fuente. Esto abrirá la terminal en tu IDE y mostrará 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 tu IDE.

Si se informa que tus fuentes son Buenas, ya puedes cambiar la plataforma de tu aplicación.

Cambia 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 a fin de automatizar los pasos para cambiar la plataforma. Si ejecutas la tarea Generate sin ejecutar 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 con cambio de plataforma

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

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

  1. En el explorador Replatform Apps, haz clic con el botón derecho en la fuente que quieras cambiar de plataforma y, luego, en Replatform.

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

  3. Selecciona un nuevo directorio de lugar de trabajo en el cual cambiar la plataforma de tu aplicación, haz clic en OK y, luego, en Create replatform workspace.

  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 análisis binario, selecciona el archivo binaryAppScanner.jar.

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

Copia archivos de tu VM al lugar de trabajo

Para copiar los archivos de tu VM a tu lugar de trabajo en tu 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. Si deseas aprender a reducir el tamaño de la copia, consulta Reduce el tamaño del sistema de archivos copiado.

  2. Abre la paleta de comandos presionando Ctrl + Mayúsculas + P.

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

Analizar el sistema de archivos de la VM y generar 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. Abre la paleta de comandos presionando Ctrl + Mayúsculas + P.

  2. Busca y selecciona Tasks: Run Task y, luego, elige 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 el parámetro.

    Cuando el análisis se realiza correctamente, 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 los artefactos.

    La estructura del 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 todavía no ejecutaste las tareas Copiar y Analizar de las secciones anteriores, la tarea Generar las ejecutará automáticamente antes de generar artefactos.

Para generar los artefactos, sigue estos pasos:

  1. Abre la paleta de comandos presionando Ctrl + Mayúsculas + P.

  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 e implementar una imagen de contenedor. Cada tipo de migración genera artefactos diferentes, pero todos los tipos de migración suelen crear uno o más archivos de Docker y una especificación de implementación de GKE a la que hace referencia skaffold.yaml.

    Cuando se completa la generación del artefacto, terminas de rediseñar tu aplicación.

  3. Opcional: Si deseas modificar el plan de migración, edita tu 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 la aplicación actualizada en un contenedor de GKE, verás los registros de la aplicación en ejecución y limpiarás los recursos.

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

Si deseas obtener más información sobre cómo 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 supervisa 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 cambiar a otro.

  4. Si se te solicita, elige un registro de imágenes para enviarla. 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 el clúster.

    Aparecerá una ventana de resultados en la que podrás realizar un seguimiento del progreso de la 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 la aplicación se ejecuta en Kubernetes, se muestra una dirección IP en la ventana de resultados. 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 se inicia tu sesión de depuración, en el panel Development sessions (Sesiones de desarrollo), se muestra la vista de registro estructurada. Cuando comienza una tarea, esta aparece con un semicírculo progress_activity giratorio.

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

Para ver los detalles de un paso, haz clic en él en el panel Development session. En el panel Resultado, se muestra el paso en el resultado del registro.

Limpia

Después de detener la aplicación, todos los recursos de Kubernetes implementados durante la ejecución se borrarán automáticamente.

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 explorador Kubernetes.
  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 cambio de plataforma, haz lo siguiente:

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