Cambia de plataforma las aplicaciones de Linux a contenedores

La integración de Migrate to Containers con Cloud Code te permite modernizar los componentes de la aplicación 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, con 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á dirigida a los desarrolladores que trabajan con Linux y trabajan conocimiento de VS Code, son familiares con Google Cloud y tener 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. 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. Enable the Google Kubernetes Engine API.

    Enable the 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. Enable the Google Kubernetes Engine API.

    Enable the 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 cargas de trabajo, el SO y las versiones de Kubernetes compatibles.
  11. Preparación tu fuente y tus máquinas locales para la modernización. Cloud Code solo admite 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 migración de plataforma siguiendo estos pasos:

  1. En la barra de actividades del IDE, haz clic en Cloud Code. y, luego, expande el explorador Aplicaciones de cambio de plataforma.

  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 tus 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 presionado el sobre el explorador Aplicaciones de cambio de plataforma y haz clic en el botón Volver a cargar fuentes almacenados en caché .

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 ajuste de tu fuente, que te notificará si es capaz de cambiar la plataforma de un contenedor.

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

Cuando se completa la evaluación, mcdc genera un archivo de Fit de evaluación de la organización en tu IDE.

Si se indica que las fuentes son Good Fit, significa que puedes cambiar la plataforma. tu aplicación.

Cambia la plataforma de tu aplicación

Cloud Code crea un espacio de trabajo exclusivo para cada cambio de plataforma y te permite ejecutar las tareas Copy, Analyze y Generate 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, estas se ejecutarán automáticamente antes de generar artefactos.

Las siguientes secciones te guiarán a través de 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 migración de plataforma

Antes de crear un lugar de trabajo nuevo para el cambio de plataforma, debes saber parámetros de migración para seleccionar según el tipo de migración. 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 Aplicaciones de cambio de plataforma, haz clic con el botón derecho en la fuente que desees. cambiar la plataforma y, luego, hacer clic en Cambiar la plataforma.

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

  3. Selecciona un nuevo directorio de lugar de trabajo para cambiar la plataforma de tu aplicación, haz clic en Aceptar y, luego, en Crear lugar de trabajo para cambiar la 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 escáner binario, selecciona el archivo binaryAppScanner.jar.

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

Cómo copiar archivos de tu VM a tu lugar de trabajo

Para copiar los archivos de la VM al espacio de trabajo en el IDE, realiza los siguientes pasos: los siguientes 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 obtener información sobre cómo 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, m2c: Copy. La copia de 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, realiza lo siguiente: los siguientes pasos:

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

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

    Si la tarea de análisis falla, debes modificar tus 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 aún no ejecutaste las tareas 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 skaffold.yaml que se usa para compilar e implementar una imagen de contenedor. Cada el tipo de migración genera diferentes artefactos, pero todos crear uno o más dockerfiles y una especificación de implementación de GKE a los que hace referencia skaffold.yaml.

    Cuando se complete la generación de artefactos, habrás terminado de cambiar 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 continuar para 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 con el cambio de plataforma en un contenedor de GKE, visualizarás los registros de tu aplicación en ejecución y la limpieza de recursos.

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

Para obtener más información sobre la depuración de aplicaciones de GKE, consulta Cómo depurar aplicaciones de Kubernetes con Cloud Code para VS Code.

Ejecuta y visualiza tu aplicación

Ahora que todo está configurado, puedes ejecutar tu aplicación y verla en vivo. Cloud Code supervisa tu sistema de archivos en busca de cambios 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 deseas usar el contexto del clúster actual o cambiar a uno diferente.

  4. Si se te solicita, elige un registro de imágenes para enviar las imágenes. Si estás crear un nuevo registro de imágenes con gcr.io/PROJECT_ID asegúrese de que el registro de imágenes esté en el mismo proyecto que su clúster.

    Aparecerá una ventana de resultados 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 ejecute en Kubernetes, la ventana de salida muestra una dirección IP. Para usar esta dirección IP vinculada y acceder a tu presiona Ctrl y haz clic en la dirección.

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

Si la 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 el paso en la Panel Development session (Sesión de desarrollo). En el panel Resultado, se muestra el paso en la el resultado del registro.

Limpia

Luego de detener la aplicación, todos los recursos de Kubernetes implementados durante la ejecución se borran automáticamente.

Para evitar que se apliquen cargos a tu cuenta por otros recursos que usaste asegúrate de borrar el proyecto o el clúster que creaste si quieres reutilizar el proyecto.

Para borrar el clúster, sigue estos pasos:

  1. Haz clic en Cloud Code y, luego, expande el explorador de Kubernetes.
  2. Mantén el puntero sobre el nombre del clúster y, luego, haz clic 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, selecciona m2c: Cleanup.