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 esta página de forma periódica para ver anuncios sobre características nuevas o actualizadas, correcciones de errores, problemas conocidos y funciones obsoletas.

3 de enero de 2024

El 3 de enero de 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 de 2023

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

Obsoleto

El complemento websphere-traditional ahora está obsoleto. Para los clientes existentes, este complemento aún es compatible hasta diciembre de 2023, tras lo cual dejará de estar disponible. Si es la primera vez que usas la modernización de cargas de trabajo de WebSphere, utiliza el complemento websphere-container con la CLI de Migrate to Containers en su lugar.

2 de noviembre de 2023

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

30 de octubre de 2023

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

Funciones

Se agregó compatibilidad para migrar aplicaciones de Linux sin conexión

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

Esto es beneficioso si tu entorno local, que incluye las máquinas locales y de origen y el clúster de implementación, se encuentra en una red segura que requiere aprobación previa y análisis de seguridad para descargar archivos binarios y objetos binarios. Con el modo sin conexión, simplificamos el proceso de recibir actualizaciones de software de fuentes externas en una red segura mediante la adición de opciones de agrupación y desagrupación de archivos. Además, puedes especificar un registro local y seguro como fuente para los artefactos necesarios en la aplicación migrada.

Para configurar las migraciones sin conexión, 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 sin conexión en el entorno sin conexión.

  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 agregar 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
    

    Reemplaza HOSTNAME por el nombre de host de Container Registry.

Para obtener más información, consulta Configura la migración sin conexión.

22 de agosto de 2023

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

Funciones

Se agregó compatibilidad con la migración de servicios de Windows IIS

La CLI de Migrate to Containers ahora admite la migración de servicios de Windows IIS. La migración de servicios de Windows IIS requiere ejecutar la CLI de Migrate to Containers en una máquina de Windows.

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

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

    Por ejemplo, para exportar una imagen desde Compute Engine, primero debes exportarla a Cloud Storage y, luego, descargarla 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 para la migración de aplicaciones de IBM WebSphere

Se modificó y expandió la compatibilidad con IBM WebSphere. El complemento existente es compatible con WebSphere Application Server tradicional como fuente de migración. Se agregó un complemento nuevo para admitir WebSphere Application Server Liberty como fuente de migración.

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

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

  • El complemento websphere-traditional-container ahora se usa para migrar cargas de trabajo tradicionales de IBM WebSphere Application Server.
  • Se agregó compatibilidad con WebSphere Application Server Liberty como destino.
  • El parámetro was-home ahora es obligatorio, incluso si analizas la VM 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

Si deseas obtener más información, consulta Crea un plan de migración para las cargas de trabajo tradicionales de WebSphere.

Se agregó compatibilidad con la migración de IBM WebSphere Application Server Liberty

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

Para migrar la 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

Si deseas obtener más información, consulta Crea un plan de migración para las cargas de trabajo de WebSphere Application Server Liberty.

Se actualizó el complemento Tomcat

Se actualizaron los parámetros de descubrimiento para el complemento Tomcat.

  • El parámetro java-version ahora se agrega como entrada a las migraciones de Tomcat.
  • El parámetro catalina-base ahora puede incluir varios directorios delimitados por dos puntos (:).
  • Los parámetros java-version, catalina-base y catalina-home ahora son obligatorios, incluso si analizas la VM de origen con mFit.

A fin de obtener más información, consulta Crea un plan de migración para las cargas de trabajo de Tomcat.

Se actualizó el complemento del contenedor del sistema Linux

Los extremos del servicio del sistema Linux ya no se descubren de forma automática y se deben especificar de forma manual mientras personalizas el plan de migración de Linux, incluso si analizas la VM de origen con mFit.

Fijo

En las versiones anteriores de la CLI de Migrate to Containers, el comando copy podría fallar cuando se intenta usar un socket en el directorio /tmp, que se borra de forma automática en algunos sistemas. En esta versión, los valores predeterminados cambiaron y, para personalizar la ubicación del socket, puedes configurar la variable de entorno SOCKDIR.

Problemas

  • La compilación de Skaffold para las imágenes de Windows puede fallar en una máquina de Windows porque Skaffold intenta extraer la imagen base para el objetivo incorrecto.

    Como solución alternativa a este problema, extrae la imagen de forma manual con el comando docker pull y vuelve a ejecutar la compilación de Skaffold.

  • La implementación de las cargas de trabajo de Windows IIS podría marcarse como no lista debido a tiempos de espera cortos. Si implementas tus cargas de trabajo con Skaffold, es posible que la implementación se muestre como con errores.

    Como solución alternativa a este problema, aumenta el tiempo de espera y el período del sondeo de preparación 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 de 2023

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

Funciones

Versión actualizada de la API de Skaffold

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 agregó compatibilidad con la creación de contenedores de VM de Linux.

La CLI de Migrate to Containers ahora te permite migrar las VMs de Linux a contenedores de sistemas. 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 del sistema Linux compilado previamente que funciona como cargador de arranque para los servicios que requiere 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.

Si deseas obtener más información, consulta Crea un plan de migración para un contenedor de VM de Linux.

Se mejoró la operación copy

Las siguientes mejoras para la operación copy ahora están disponibles:

  • 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 fallas, la CLI de Migrate to Containers ahora continúa el proceso de copia desde el punto de falla.

Para obtener más información, consulta Copia el sistema de archivos de la máquina de origen.

Se agregó la capacidad de limpiar el sistema de archivos copiado

Una vez que se complete la migración, puedes usar el comando cleanup nuevo para quitar la copia del sistema de archivos de la máquina de origen que creaste con el comando copy en tu máquina local sin generar ningún permiso problemas.

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

Se agregó compatibilidad con la migración de datos

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

Este paso es necesario en los casos en los que es posible que necesites migrar directorios de datos persistentes desde la VM de origen a volúmenes persistentes activados en el contenedor de destino.

Para obtener más información, consulta Migra datos.

13 de junio de 2023

El 13 de junio de 2023, anunciamos que la CLI de Migrate to Containers ahora tiene disponibilidad general.

La CLI de Migrate to Containers te permite modernizar los componentes de la aplicación que se ejecutan en VMs a contenedores que se ejecutan en clústeres de GKE, GKE Autopilot, Cloud Run o GKE Enterprise.

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

2 de mayo de 2023

El 2 de mayo de 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 la aplicación que se ejecutan en VMs a contenedores que se ejecutan en clústeres de GKE, GKE Autopilot, Cloud Run o GKE Enterprise. La herramienta ofrece un flujo simplificado que consta de 4 pasos principales:

  1. Copia archivos de aplicación desde una VM de origen mediante SSH o la CLI de gcloud.
  2. Analizar 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 personalizar el plan de migración.
  4. Genera artefactos necesarios como la imagen de contenedor, el yaml de implementación y el archivo de configuración de Skaffold.

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

Funciones

Copia los archivos de la aplicación de origen

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

Analiza los archivos de la aplicación para detectar cambios en la modernización

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

Genera artefactos de aplicación para ejecutar 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 compatibles

Con la nueva CLI de Migrate to Containers, puedes trabajar en la modernización de tus aplicaciones en tu entorno local y, luego, implementar 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 de Tomcat al contenedor que usa una imagen base de la comunidad
  • Aplicación de Apache a un contenedor que usa una imagen base de la comunidad
  • Aplicación IBM JBoss a un contenedor que usa una imagen base de WildFly de la comunidad
  • IBM Websphere Application Server tradicional sobre el contenedor que usa una imagen tradicional de IBM WebSphere Application Server
  • Servidor de aplicaciones de IBM Websphere tradicional para el contenedor que usa una imagen de contenedor de Open Liberty