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 desarrolladores en 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 su aplicación.
Antes de comenzar
- Accede a tu Google Cloud cuenta de. 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.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Google Kubernetes Engine API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Google Kubernetes Engine API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.- 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 deseas realizar. Para obtener más información sobre las cargas de trabajo compatibles, consulta Revisa las versiones compatibles de SO, cargas de trabajo y Kubernetes.
- Prepara tus máquinas de origen y locales para la modernización. Cloud Code solo admite Linux para la modernización.
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 cambio de plataforma siguiendo estos pasos:
En la barra de actividades de tu IDE, haz clic en
Cloud Code, y, luego, expande el explorador Replatform Apps.
Si es la primera vez que usas Migrate to Containers en Cloud Code, deberás instalar la CLI de
mcdcy 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.Haz clic en Edit Sources. Se abrirá un archivo
mcdc-sources.jsonvací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 Replatform Apps, mantén el puntero sobre el explorador Replatform Apps y haz clic en el botón Reload sources 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 tu fuente, que te notifica si tu fuente es capaz de 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 Assess source. Se abrirá la terminal en tu IDE y se mostrarán los registros de la evaluación de tu fuente.
Cuando se complete la evaluación, mcdc generará un informe de evaluación de idoneidad en tu IDE.
Si se informa que tus fuentes son Good Fit, significa que estás listo para 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 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, se ejecutarán automáticamente antes de generar artefactos.
En las siguientes secciones, se te guiará para 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 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. 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 cambio de plataforma con artefactos en tu IDE, sigue estos pasos:
En el explorador Replatform Apps , haz clic con el botón derecho en la fuente cuya plataforma deseas cambiar y, luego, haz clic 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 cambiar la plataforma de tu aplicación, haz clic OK y, luego, en Create replatform workspace.
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 lugar de trabajo tarda unos segundos. Se abrirá el nuevo directorio del lugar de trabajo en una ventana nueva de tu IDE.
Copia archivos de tu VM a tu lugar de trabajo
Para copiar los archivos de tu VM a tu lugar de trabajo en tu IDE, sigue estos pasos:
Opcional: La CLI de
mcdcaplica filtros para reducir el tamaño de la copia, pero puedes modificar el archivofilters.txtpara 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+Shift+P.
Busca y selecciona Tasks: Run Task y, luego, selecciona 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, sigue estos pasos:
Para abrir la paleta de comandos, presiona Ctrl+Shift+P.
Busca y selecciona Tasks: Run Task y, luego, selecciona 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-planque 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.yamldifiere 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:
Para abrir la paleta de comandos, presiona Ctrl+Shift+P.
Busca y selecciona Tasks: Run Task y, luego, selecciona m2c: Generate. Esto genera los artefactos en el directorio
src, que contiene un archivoskaffold.yamlque 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 cambiar la plataforma de tu aplicación.
Opcional: Si deseas modificar el plan de migración, edita el archivo
config.yamly vuelve a ejecutar la tarea m2c: Generate.De lo contrario, si estás satisfecho 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 cambio de plataforma 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 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 ya tienes todo listo, 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:
En la barra de estado de Cloud Code, haz clic en el nombre del proyecto activo.

En el menú Quick Pick que aparece, selecciona Run on 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 el registro de imágenes esté en el mismo proyecto que tu clúster.Aparecerá una ventana de salida en la que podrás hacer 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 la salida de la terminal.
Una vez que tu aplicación se ejecute en Kubernetes, la ventana de salida mostrará una dirección IP. Para usar esta dirección IP vinculada para acceder a tu aplicación, presiona Ctrl y haz clic en la dirección.
Después de que comience la sesión de depuración, el panel Development sessions mostrará la vista de registro estructurado. Cuando comienza una tarea, aparece con un círculo semicircular giratorio progress_activity.
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 el paso en el panel Development session. El panel Output muestra el paso en la salida de registro.
Limpia
Después de detener la aplicación, se borrarán automáticamente todos los recursos de Kubernetes implementados durante la ejecución.
Para evitar que se generen cargos en tu cuenta por otros recursos que se usan en esta guía de inicio rápido, asegúrate de borrar el proyecto o el clúster que creaste si deseas volver a usar el proyecto.
Para borrar el clúster, sigue estos pasos:
- Haz clic en
Cloud Code y, luego, expande el explorador Kubernetes.
- Mantén el puntero sobre el nombre del clúster y, luego, haz clic en open_in_new Open in Google Cloud console.
- Haz clic en Borrar y, luego, en Borrar.
Para borrar tu proyecto (y los recursos asociados, incluidos los clústeres), sigue estos pasos:
- En la Google Cloud consola, ve a la página Administrar recursos.
- En la lista de proyectos, elige el proyecto que tú quieres borrar y haz clic en Borrar.
- 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, sigue estos pasos:
- Abre la paleta de comandos (Ctrl+Shift+P).
- Busca y selecciona Tasks: Run Task y, luego, selecciona m2c: Cleanup.