Ejecuta una migración

Comienza a migrar VM con un comando que genera artefactos de contenedor de destino y los extrae mediante el clúster de procesamiento que creaste en Instala Migrate to Containers.

En este tema, se describe cómo ejecutar una migración para realizar lo siguiente:

  • Extraer artefactos de carga de trabajo de la VM en una imagen de contenedor y un volumen de datos (para cargas de trabajo con estado)
  • Copiar una imagen de contenedor de tu VM en un Container Registry
  • Generar artefactos de implementación de migración que puedes usar para implementaciones de producción

Una vez que se complete este paso, podrás realizar las siguientes acciones:

  • Probar la imagen y el volumen de datos (para las cargas de trabajo con estado) en el clúster de procesamiento

    Aunque aún no hayas implementado la imagen en un clúster separado, es ejecutable y puede probarse. Una vez que se completa la migración, la imagen no se conecta con la VM de origen.

  • Implementar la imagen y el volumen de datos (para cargas de trabajo con estado) en otro clúster

Antes de comenzar

Para tener éxito, primero deberías haber hecho lo siguiente:

Ejecuta la migración y genera artefactos

Usa el comando migctl migration generate-artifacts o la consola de Google Cloud a fin de generar artefactos de contenedor de destino como parte del procesamiento de una VM para la migración.

migctl

  1. Ejecuta la migración:

    migctl migration generate-artifacts my-migration
  2. Obtén el estado de migración:

    migctl migration status my-migration

Consola

  1. Abre la página Migrate to Containers en la consola de Google Cloud.

    Ir a la página Migrate to Containers

  2. Haz clic en la pestaña Migraciones para ver una tabla con las migraciones disponibles.

  3. En la fila para la migración deseada, selecciona Generate artifacts en el menú desplegable Próximos pasos.

  4. Para ver el estado de una migración, sigue estos pasos:

    • Visualiza la columna Estado de la fila de la migración.

    • Haz clic en el Nombre de la migración. Se abrirá la pestaña Detalles de la migración. Haz clic en la pestaña Supervisión para ver el estado detallado, o en la pestaña Eventos para ver los eventos de migración.

  5. Cuando el Estado de la migración sea Artefactos generados, podrás continuar con el siguiente paso.

CRD

Linux, Windows y Tomcat

  1. Obtén el nombre del AppXGenerateArtifactsFlow con el nombre especificado en el archivo yaml de migración cuando la creaste:

    kubectl get migrations.anthos-migrate.cloud.google.com -n v2k-system my-migration  -o jsonpath={.status.migrationPlanRef.name}

  2. Crea un archivo my-generate.yaml de AppXGenerateArtifactsTask para definir una tarea de generación de artefactos.

    En este archivo, migration especifica el nombre de la migración cuando creaste la migración y flow representa el AppxGenerateArtifactsFlow de la migración que obtuviste en el paso anterior:

    apiVersion: anthos-migrate.cloud.google.com/v1beta2
    kind: AppXGenerateArtifactsTask
    metadata:
     name: my-migration-task
     namespace: v2k-system
    spec:
     migration:
       name:  my-migration
     flow:
       name:  appx-generateartifactsflow-my-migration
  3. Aplica el siguiente archivo:

    kubectl apply -f my-generate.yaml

Cuando generas artefactos para las cargas de trabajo de Migrate to Containers escribe los artefactos y, luego, los sube a un bucket de Cloud Storage. El archivo del directorio de artefactos contiene lo siguiente:

  • Dockerfile: El Dockerfile que se usa para compilar la imagen de la VM migrada.
  • deployment_spec.yaml: Es el archivo YAML que configura tu carga de trabajo.
  • secrets.yaml: Es posible que se agregue un archivo YAML de secretos que contenga datos sensibles al directorio de artefactos.

    Puedes usar kubectl apply con este archivo para implementar la carga de trabajo en un clúster, como un clúster de producción o de prueba.

  • Directorios y archivos que se extraen del origen y que usa el Dockerfile.

Descarga los artefactos generados

Para descargar los artefactos del contenedor generados en este directorio anidado, ejecuta el siguiente comando:

migctl migration get-artifacts my-migration

Según tu complemento y plan de migración, los artefactos generados contienen uno o más Dockerfiles que se usan para compilar imágenes de contenedor y una o más especificaciones de implementación de Kubernetes.

Además, Migrate to Containers genera una configuración de Skaffold que puedes usar para compilar y, luego, implementar con rapidez todas las imágenes generadas en un solo paso.

¿Qué sigue?