Notas de la versión de la CLI de Migrate to Containers

En esta página se documentan las actualizaciones de producción de la CLI de Migrate to Containers. Puedes revisar periódicamente esta página para ver si hay funciones nuevas o actualizadas, correcciones de errores, problemas conocidos y funciones obsoletas.

8 de octubre del 2024

El 8 de octubre del 2024, lanzamos la versión 1.2.3 de la CLI de Migrate to Containers y la versión 1.4.2 de los complementos de modernización de Migrate to Containers.

Funciones

  • Se ha añadido la posibilidad de ejecutar la CLI de Migrate to Containers en PowerShell Core (pwsh.exe).

  • Todos los complementos usan DNS-1123 para los nombres de implementación, de modo que sean compatibles con Kubernetes.

  • Seguridad mejorada para la migración de IIS de Windows mediante un usuario temporal con caducidad automática y contraseña aleatoria.

  • Nuevas funciones para la modernización de aplicaciones WebSphere:

    • Se ha añadido documentación de los campos del plan de migración de WebSphere para el autocompletado de Visual Studio Code.
    • Se ha reducido el tiempo necesario para modernizar una aplicación WebSphere.

Corrección de errores

  • Se ha corregido un error relacionado con CVE-2024-9858.
  • Se ha corregido un error que impedía definir el método de autenticación en el plan de migración de aplicaciones IIS de Windows.

3 de enero del 2024

El 3 de enero del 2024, lanzamos la versión 1.4.1 de los complementos de modernización de Migrate to Containers, que incluye correcciones de errores para las migraciones de Tomcat.

4 de diciembre del 2023

El 4 de diciembre del 2023, lanzamos la versión 1.2.2 de la CLI de Migrate to Containers.

Obsoleto

El complemento websphere-traditional ya no está disponible. Para los clientes actuales, este complemento seguirá estando disponible hasta diciembre del 2023, fecha a partir de la cual dejará de estarlo. Si no tienes experiencia con la modernización de cargas de trabajo de WebSphere, usa el websphere-container con la CLI de Migrate to Containers.

2 de noviembre del 2023

El 2 de noviembre del 2023, lanzamos la versión 1.2.1 de la CLI de Migrate to Containers, que incluye correcciones de errores.

30 de octubre del 2023

El 30 de octubre del 2023, lanzamos la versión 1.2.0 de la CLI de Migrate to Containers.

Funciones

Se ha añadido la opción de migrar aplicaciones Linux sin conexión

La CLI de Migrate to Containers ahora permite trabajar sin conexión a Internet mediante el nuevo modo Sin conexión. El modo offline te permite migrar aplicaciones Linux en un entorno offline.

Esto es útil si tu entorno local, que incluye las máquinas local y de origen, así como el clúster de implementación, se encuentra en una red segura que requiere una aprobación previa y un análisis de seguridad para descargar archivos y archivos binarios externos. Con el modo sin conexión, hemos simplificado el proceso de recepción de actualizaciones de software de fuentes externas en una red segura añadiendo opciones para agrupar y desagrupar archivos. Además, puede especificar un registro local y seguro como origen de los artefactos necesarios para la aplicación migrada.

Para configurar las migraciones offline, después de descargar la CLI de Migrate to Containers, sigue estos pasos:

  1. Descarga el paquete de complementos de la CLI de Migrate to Containers sin conexión:

    curl -O https://storage.googleapis.com/modernize-plugins-prod/$(curl -s https://storage.googleapis.com/modernize-plugins-prod/latest)/m2c-offline-bundle-linux.tar
    
  2. Si es necesario, copia la CLI de Migrate to Containers y el paquete de complementos de la CLI de Migrate to Containers offline en el entorno offline.

  3. Descomprime el paquete de complementos de la CLI de Migrate to Containers sin conexión:

    ./m2c plugins unpack -i m2c-offline-bundle-linux.tar
    

    Para añadir compatibilidad con la migración de datos sin conexión, especifica un registro de contenedores que esté disponible en tu red local:

    ./m2c plugins unpack -i m2c-offline-bundle-linux.tar --registry HOSTNAME
    

    Sustituye HOSTNAME por el nombre de host del registro de contenedores.

Para obtener más información, consulta Preparación para la migración offline.

22 de agosto del 2023

El 22 de agosto del 2023, lanzamos la versión 1.1.0 de la CLI de Migrate to Containers.

Funciones

Se ha añadido compatibilidad con la migración de servicios IIS de Windows

La CLI de Migrate to Containers ahora admite la migración de servicios IIS de Windows. Para migrar servicios de Windows IIS, debes ejecutar la CLI de Migrate to Containers en un ordenador Windows.

Para modernizar los servicios de IIS de Windows, sigue estos pasos:

  1. Exporta las imágenes de disco de la VM de origen a archivos VHD.

    Por ejemplo, para exportar una imagen de Compute Engine, primero expórtala a Cloud Storage y, a continuación, descárgala en tu máquina local:

    gcloud compute images export \
        --export-format vhdx \
        --destination-uri DESTINATION_URI \
        --image IMAGE_NAME
    gcloud storage cp DESTINATION_URI LOCAL_PATH
    
  2. Analiza las imágenes de disco para crear un plan de migración:

    ./m2c analyze \
       -s PATH_TO_IMAGE \
       -p windows-iis-container \
       -o ANALYSIS_OUTPUT_PATH
    
  3. Edita el plan de migración.

  4. Genera artefactos de migración a partir de las imágenes de disco y el plan de migración:

    ./m2c generate \
       -i ANALYSIS_PATH \
       -o OUTPUT_ARTIFACTS_PATH
    

Compatibilidad mejorada con la migración de aplicaciones IBM WebSphere

Se ha modificado y ampliado la compatibilidad con IBM WebSphere. El complemento actual admite WebSphere Application Server tradicional como origen de migración. Se ha añadido un nuevo complemento para admitir WebSphere Application Server Liberty como fuente de migración.

Cambios en la migración tradicional de IBM WebSphere Application Server

Se han realizado los siguientes cambios en la migración tradicional de IBM WebSphere Application Server:

  • Ahora se usa el complemento websphere-traditional-container para migrar cargas de trabajo tradicionales de IBM WebSphere Application Server.
  • Se ha añadido la compatibilidad con WebSphere Application Server Liberty como destino.
  • Ahora, el parámetro was-home es obligatorio, incluso si analiza la máquina virtual de origen con mFit.

Para migrar una carga de trabajo tradicional de IBM WebSphere Application Server, ejecuta el siguiente comando:

./m2c analyze \
    -s PATH_TO_COPIED_FILESYSTEM \
    -p websphere-traditional-container -o ANALYSIS_OUTPUT_PATH \
    -r was-home=PATH_TO_WAS_HOME \
    --volume PATH_TO_BINARYAPPSCANNER:/binaryAppScanner.jar

Para obtener más información, consulta Crear un plan de migración para cargas de trabajo tradicionales de WebSphere.

Se ha añadido compatibilidad con la migración de IBM WebSphere Application Server Liberty

La modernización de WebSphere Application Server Liberty ya está disponible de forma general con el complemento websphere-container.

Para migrar una carga de trabajo de IBM WebSphere Liberty, ejecuta el siguiente comando:

./m2c analyze \
    -s PATH_TO_COPIED_FILESYSTEM \
    -p websphere-container \
    -o ANALYSIS_OUTPUT_PATH \
    -r websphere-home=WEBSPHERE_HOME \
    -r websphere-java-home=WEBSPHERE_JAVA_HOME
    -r target-base-image=TARGET_BASE_IMAGE

Para obtener más información, consulta el artículo Crear un plan de migración para cargas de trabajo de WebSphere Application Server Liberty.

Se ha actualizado el complemento Tomcat

Se han actualizado los parámetros de detección del complemento Tomcat.

  • El parámetro java-version ahora se añade como entrada a las migraciones de Tomcat.
  • El parámetro catalina-base ahora puede incluir varios directorios delimitados con dos puntos (:).
  • Ahora, los parámetros java-version, catalina-base y catalina-home son obligatorios, aunque analices la VM de origen con mFit.

Para obtener más información, consulta Crear un plan de migración para cargas de trabajo de Tomcat.

Se ha actualizado el complemento del contenedor del sistema Linux

Los endpoints de los servicios del sistema Linux ya no se detectan automáticamente y deben especificarse manualmente al personalizar el plan de migración de Linux, aunque analices la VM de origen con mFit.

Fijo

En las versiones anteriores de la CLI de Migrate to Containers, el comando copy podía fallar al intentar usar un socket en el directorio /tmp, que se elimina automáticamente en algunos sistemas. En esta versión, los valores predeterminados han cambiado y, para personalizar la ubicación del socket, puedes definir la variable de entorno SOCKDIR.

Problemas

  • Es posible que la compilación de Skaffold para imágenes de Windows falle en una máquina Windows porque Skaffold intenta extraer la imagen base del destino incorrecto.

    Para solucionar este problema, descarga la imagen manualmente con el comando docker pull y vuelve a ejecutar la compilación de Skaffold.

  • Es posible que la implementación de cargas de trabajo de Windows IIS se marque como no preparada debido a los tiempos de espera cortos. Si despliega sus cargas de trabajo con Skaffold, es posible que el despliegue se muestre como fallido.

    Para solucionar este problema, aumenta el tiempo de espera y el periodo de la sonda de disponibilidad con PowerShell:

    foreach ($file in (Get-ChildItem . -Recurse -Include "deployment_spec.yaml")) { (Get-Content $file).replace("periodSeconds: 10", "periodSe
    conds: 30").replace("timeoutSeconds: 1", "timeoutSeconds: 10") | Set-Content $file }
    

27 de junio del 2023

El 27 de junio del 2023, lanzamos la versión 1.0.0 de la CLI de Migrate to Containers.

Funciones

Versión de la API de Skaffold actualizada

La CLI de Migrate to Containers ahora genera la configuración de Skaffold con la versión v4beta4 de la API de Skaffold en lugar de la versión v2beta25.

Se ha añadido compatibilidad con la creación de contenedores de máquinas virtuales Linux

La CLI de Migrate to Containers ahora te permite migrar VMs Linux a contenedores del sistema. Descubre los archivos de la aplicación de origen y los procesa para generar artefactos de migración, que incluyen un Dockerfile, un manifiesto de Kubernetes y secuencias de comandos de implementación automatizadas basadas en Skaffold.

La CLI de Migrate to Containers usa un contenedor de sistema Linux precompilado que funciona como un gestor de arranque para los servicios que necesita la aplicación modernizada. Con la CLI de Migrate to Containers, puedes modernizar una amplia gama de aplicaciones sin estado basadas en Linux para que se ejecuten en clústeres de GKE, Cloud Run o GKE Enterprise.

Para obtener más información, consulta Crear un plan de migración para un contenedor de VM Linux.

Se ha mejorado la operación copy.

Ahora están disponibles las siguientes mejoras en la operación copy:

  • La operación copy de la CLI de Migrate to Containers ahora usa un contenedor local para copiar el sistema de archivos de la VM de origen en un directorio local en lugar de usar un archivo tar local. Esta mejora elimina la necesidad de instalar rsync en tu máquina local y reduce el espacio en disco necesario para copiar el sistema de archivos de la máquina de origen.

  • En caso de fallos, la CLI de Migrate to Containers ahora continúa el proceso de copia desde el punto en el que se ha producido el fallo.

Para obtener más información, consulta Copiar el sistema de archivos del equipo de origen.

Se ha añadido la opción de limpiar el sistema de archivos copiado

Una vez completada la migración, puedes usar el nuevo comando cleanup para eliminar la copia del sistema de archivos del equipo de origen que creaste con el comando copy en tu equipo local sin tener problemas de permisos.

Para obtener más información, consulta Limpiar tu máquina local.

Se ha añadido compatibilidad con la migración de datos

Después de ejecutar una migración, ahora puede copiar directorios de datos en una reclamación de volumen persistente (PVC) nueva o ya creada en el clúster de destino con el nuevo comando migrate-data.

Este paso es obligatorio en los casos en los que necesite migrar directorios de datos persistentes de la VM de origen a volúmenes persistentes montados en el contenedor de destino.

Para obtener más información, consulta el artículo Migrar datos.

13 de junio del 2023

El 13 de junio del 2023, anunciamos que la CLI de Migrate to Containers ya está disponible para todos los usuarios.

La CLI de Migrate to Containers te permite modernizar los componentes de las aplicaciones que se ejecutan en máquinas virtuales para que se ejecuten en contenedores de clústeres de GKE, Autopilot de GKE, Cloud Run o GKE Enterprise.

Para obtener más información , consulta Cambiar las aplicaciones a cargas de trabajo basadas en contenedores en la línea de comandos | Google Cloud Blog.

2 de mayo del 2023

El 2 de mayo del 2023, lanzamos la versión 0.2.0 de la CLI de Migrate to Containers en vista previa. La CLI de Migrate to Containers te permite modernizar los componentes de las aplicaciones que se ejecutan en máquinas virtuales para que se ejecuten en clústeres de GKE, GKE Autopilot, Cloud Run o GKE Enterprise. La herramienta ofrece un flujo simplificado que consta de cuatro pasos principales:

  1. Copia los archivos de la aplicación desde una VM de origen mediante SSH o la CLI de gcloud.
  2. Analiza la copia local de los archivos de la aplicación para generar un plan de migración.
  3. Edita los archivos del plan de migración para personalizarlo.
  4. Genera los artefactos necesarios, como la imagen del contenedor, el archivo YAML de despliegue y el archivo de configuración de Skaffold.

Para obtener más información, consulta el artículo Acerca de Migrate to Containers | Google Cloud.

Funciones

Copiar archivos de la aplicación de origen

Copia los archivos de tu aplicación desde una VM remota local mediante SSH o desde una VM que se ejecute en Google Cloud con la CLI de gcloud.

Analizar archivos de aplicaciones para modernizarlas

Analiza los archivos binarios y de configuración de la aplicación, y genera un informe de archivo del plan de migración y un plan de migración con los parámetros extraídos de los archivos copiados.

Generar artefactos de aplicación para ejecutarlos como un contenedor

Genera los artefactos que necesitas para ejecutar la aplicación como un contenedor con un archivo de configuración de Skaffold, que te permite automatizar la implementación de los artefactos generados en tu clúster de destino.

Flujos de modernización admitidos

Con la nueva CLI de Migrate to Containers, puedes trabajar en la modernización de tu aplicación en tu entorno local y desplegar los artefactos generados directamente en un clúster local o remoto.

La CLI de Migrate to Containers admite los siguientes flujos de modernización:

  • Aplicación Tomcat en un contenedor que usa una imagen base de la comunidad
  • Aplicación Apache en un contenedor que usa una imagen base de la comunidad
  • Aplicación IBM JBoss a contenedor que usa una imagen base de WildFly de la comunidad
  • Migración de IBM WebSphere Application Server tradicional a un contenedor que usa una imagen tradicional de IBM WebSphere Application Server
  • Migración de IBM WebSphere Application Server tradicional a un contenedor que usa una imagen de contenedor de Open Liberty