En esta guía, aprenderás a migrar 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 desarrolladores que trabajan en una máquina Linux, tienen conocimientos prácticos de VS Code, están familiarizados con Google Cloudy tienen una VM que ejecuta el componente de su aplicación.
Cloud Code no admite la migración de aplicaciones a contenedores con Windows o macOS.Antes de comenzar
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Google Kubernetes Engine API.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Google Kubernetes Engine API.
- Instala la extensión de Cloud Code si aún no lo hiciste.
- Crea y configura un clúster de GKE.
- Asegúrate de saber qué tipo de migración quieres realizar. Para obtener más información sobre las cargas de trabajo admitidas, consulta Revisa las cargas de trabajo, el SO y las versiones de Kubernetes compatibles.
- Prepara tus máquinas locales y de origen para la modernización. Cloud Code solo admite Linux para la modernización.
En la barra de actividades de tu IDE, haz clic en
Cloud Code y, luego, expande el explorador de Replatform Apps.
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.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" } ]
Para ver las fuentes en el explorador de Replatform Apps, mantén el puntero sobre el explorador de Replatform Apps y haz clic en el botón almacenado en caché Reload sources que aparece.
En el explorador Replatform Apps, haz clic con el botón derecho en la fuente que deseas replataformar y, luego, en Replatform.
En la lista de opciones que aparece en el menú, selecciona un recorrido de cambio de plataforma.
Selecciona un nuevo directorio de lugar de trabajo para volver a crear la plataforma de tu aplicación, haz clic en Aceptar y, luego, en Crear lugar de trabajo de replataforma.
Selecciona los parámetros de migración para tu tipo de migración.
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. Esto abrirá el directorio de tu nuevo espacio de trabajo en una ventana nueva del IDE.
Opcional: La CLI de
mcdc
aplica filtros para reducir el tamaño de la copia, pero puedes modificar el archivofilters.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.Para abrir la paleta de comandos, presiona Ctrl + Mayúsculas + P.
Busca y selecciona Tasks: Run Task y, luego, selecciona m2c: Copy. La copia de archivos puede tardar unos minutos.
Para abrir la paleta de comandos, presiona Ctrl + Mayúsculas + P.
Busca y selecciona Tasks: Run Task y, luego, m2c: Analyze.
Si falla la tarea de análisis, 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 archivoconfig.yaml
. Puedes editar este archivo para cambiar la forma en que se generan tus artefactos.La estructura de tu archivo
config.yaml
varía según el tipo de migración. Para obtener más información sobre los tipos de migración admitidos, consulta las siguientes páginas:Para abrir la paleta de comandos, presiona Ctrl + Mayúsculas + P.
Busca y selecciona Tasks: Run Task y, luego, m2c: Generate. Esto genera los artefactos en el directorio
src
, que contiene un archivoskaffold.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 Dockerfile y una especificación de implementación de GKE a la que hace referenciaskaffold.yaml
.Cuando se complete la generación de artefactos, habrás terminado de replataformar tu aplicación.
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 de la replataforma, puedes ejecutar tu aplicación en un contenedor de GKE.
En la barra de estado de Cloud Code, haz clic en el nombre del proyecto activo.
En el menú Selección rápida que aparece, selecciona Ejecutar en Kubernetes.
Confirma si deseas usar el contexto del clúster actual o cambiar a uno diferente.
Si se te solicita, elige un registro de imágenes para enviar las imágenes. Si creas un registro de imágenes nuevo con
gcr.io/PROJECT_ID
, asegúrate de que esté en el mismo proyecto que tu clúster.Aparecerá una ventana de salida 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.
Una vez que tu aplicación se ejecute en Kubernetes, la ventana de resultados mostrará una dirección IP. Para usar esta dirección IP vinculada y acceder a tu aplicación, presiona Ctrl y haz clic en la dirección.
- Haz clic en
Cloud Code y, luego, expande el explorador de Kubernetes.
- Coloca el puntero sobre el nombre del clúster y, luego, haz clic en open_in_new Abrir en la Google Cloud consola.
- Haz clic en Borrar y, luego, en Borrar.
- In the Google Cloud console, go to the Manage resources page.
- In the project list, select the project that you want to delete, and then click Delete.
- In the dialog, type the project ID, and then click Shut down to delete the project.
- Abre la paleta de comandos (Ctrl + Mayúsculas + P).
- Busca y selecciona Tareas: Ejecutar tarea y, luego, selecciona m2c: Cleanup.
Agrega una fuente de cambio 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 hiciste, y agregarás una fuente de replataforma siguiendo estos pasos:
Opcional: Genera una evaluación de idoneidad
Antes de intentar migrar tu aplicación a una plataforma de contenedores, te recomendamos que generes una Evaluación de adecuación de tu fuente, que te notificará si tu fuente es capaz de migrar a una plataforma de contenedores.
Para generar una evaluación de ajuste 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 complete la evaluación, mcdc
generará un informe de evaluación de Fit en tu IDE.
Si se informa que tus fuentes son una buena opción, puedes replataformar tu aplicación.
Cambia de plataforma tu aplicación
Cloud Code crea un espacio de trabajo dedicado para cada replataforma y te permite ejecutar las tareas Copy, Analyze y Generate en el espacio de trabajo para automatizar los pasos de la replataforma. Si ejecutas la tarea Generar sin ejecutar primero las tareas Copiar y Analizar, estas se ejecutarán automáticamente antes de generar artefactos.
En las siguientes secciones, se te guiará para que realices cada una de estas tareas y transfieras 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 espacio de trabajo de cambio de plataforma
Antes de crear un nuevo espacio de trabajo de 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 espacio de trabajo de replataforma con artefactos en tu IDE, sigue estos pasos:
Copia archivos de tu VM a tu espacio de trabajo
Para copiar los archivos de tu VM a tu espacio de trabajo en el IDE, sigue estos pasos:
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:
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:
Ejecuta tu aplicación en un contenedor de GKE
En esta sección, ejecutarás tu aplicación replataformada en un contenedor de GKE, verás los registros de tu aplicación en ejecución y limpiarás los 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 Depura 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 inspecciona 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:
Una vez que se inicie la sesión de depuración, el panel Sesiones de desarrollo mostrará la vista de registro estructurado. Cuando comienza una tarea, aparece con un semicírculo giratorio progress_activity.
Si una tarea se completa 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 Sesión de desarrollo. En el panel Output, se muestra el paso en el registro de salida.
Limpia
Después de detener la aplicación, todos los recursos de Kubernetes que implementaste durante la ejecución se borran de forma automática.
Para evitar que se apliquen cargos en 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 usar el proyecto.
Para borrar el clúster, sigue estos pasos:
Para borrar tu proyecto (y los recursos asociados, incluidos los clústeres), sigue estos pasos:
Para borrar todos los archivos locales que se crearon durante el proceso de cambio de plataforma, haz lo siguiente: