Crea un plan de migración
Para comenzar a migrar las VM, debes crear una migración. Esto da como resultado un objeto del plan de migración. Por lo general, se requiere una revisión adicional y la personalización del plan generado antes de continuar con la ejecución de la migración.
Una migración es el objeto central con el que realizas acciones de migración, y supervisas el estado y las actividades de migración con migctl
y la consola de Google Cloud. El objeto de migración se implementa como una definición de recurso personalizado (CRD) de Kubernetes, y se encuentra junto con recursos adicionales como un PersistentVolumeClaim
de Kubernetes en el plan de migración.
Antes de comenzar
- Agrega una fuente de migración
- Busca el ID de la instancia de máquina virtual (VM), como se describe en la siguiente sección.
- Cuando uses Compute Engine como la fuente de migración, detén la VM de origen antes de crear una migración. Después de crear el objeto de migración, puedes reiniciar la VM.
Busca el ID de VM
Para buscar el ID de VM, navega por el inventario de VM o búscalo de forma manual, según el tipo de fuente.
Busca el ID con el inventario de VM
Cuando uses
migctl
, puedes ver una lista de VM si ejecutas el siguiente comando:migctl source list-vms <name> [ --refresh ] [ --wide ]
Cuando uses la consola de Google Cloud, navega al tipo de fuente, encontrarás una tabla que enumera todas las VM de ese tipo.
Busca el ID de forma manual
Puedes buscar el ID de VM de forma manual por tipo de fuente:
Compute Engine
vmId
: Es el nombre de la VM tal como aparece en la consola de Google Cloud.
VMware
vmId
: Especifica el ID o nombre de la VM que se migrará, tal como se la conoce en la plataforma de origen. Puedes usar uno de los siguientes valores.El nombre de la VM: Si estás seguro de que no hay nombres de VM repetidos en la implementación de VMware, el nombre de la VM funcionará. Si es posible que los nombres de las VM estén duplicados, usa el ID de la VM como se describe a continuación.
Puedes obtener el nombre de la VM desde el cliente web de vSphere, como se muestra en la siguiente imagen.
El ID de VM de vSphere (también llamado MoRef): Esto se puede ver desde la URL del cliente web de vSphere cuando se selecciona la VM.
También puedes encontrar el MoRef mediante PowerCLI.
Requisitos de nombres
Debes asignar un nombre a una migración cuando la creas en Migrate to Containers. El nombre debe cumplir con los siguientes requisitos:
- Debe contener 63 caracteres como máximo.
- Debe contener solo caracteres alfanuméricos en minúscula o “-” (guion).
- Debe comenzar con un carácter alfanumérico.
- Debe terminar con un carácter alfanumérico.
Cargas de trabajo admitidas
Cree una migración
Cargas de trabajo de Linux y Windows
Crea una migración mediante la herramienta migctl
o la consola de Google Cloud.
migctl
Detenga la VM. La VM debe detenerse para crear una migración. Una vez finalizada la migración, puedes reiniciar la VM.
Crea la migración:
migctl migration create my-migration --source
my-src --vm-idmy-id --typeserver-type En el ejemplo anterior,
--vm-id
especifica el nombre de la instancia de VM como se muestra en la consola de tipo de origen. En el que--type
es--type=windows-iis-container
olinux-system-container
.
Consola
Si la fuente de migración es una VM de Compute Engine, detén la VM de Compute Engine. La VM debe detenerse para crear una migración. Una vez finalizada la migración, puedes reiniciar la VM.
Abre la página Migrate to Containers en la consola de Google Cloud.
Haz clic en la pestaña Migraciones para ver una tabla con las migraciones disponibles.
Haz clic en Crear migración.
Ingresa el Nombre de la migración.
Selecciona la fuente de migración que creaste en Agrega una fuente de migración.
Configura el Tipo de carga de trabajo como Contenedor de sistema basado en imagen o Contenedor de Windows IIS.
Ingresa el ID de VM de origen. Consulta Antes de comenzar para obtener más información sobre cómo se determina el ID de la VM.
Haz clic en Crear migración.
Cuando se completa la creación de la migración, la columna Estado muestra Migration plan generated.
CRD
Para definir una migración, crea un archivo de migración llamado
my-migration.yaml
.En este archivo, el campo
name
ensourceProviderRef
especifica el nombre de un SourceProvider creado con anterioridad y el camposourceId
especifica el nombre de la instancia de Compute Engine.Type
será--type=windows-iis-container
olinux-system-container
.apiVersion: anthos-migrate.cloud.google.com/v1 kind: Migration metadata: name: my-migration namespace: v2k-system spec: type: linux-system-container sourceSnapshotTemplate: spec: sourceProviderRef: name: my-ce-src sourceId: my-id
Si migras una VM de Compute Engine, detén la VM. La VM debe detenerse para crear una migración. Una vez finalizada la migración, puedes reiniciar la VM.
Aplica el siguiente archivo:
kubectl apply -f my-migration.yaml
Cargas de trabajo de Tomcat
Especifica los parámetros de Tomcat
Debes especificar de forma manual los valores para CATALINA_BASE
y CATALINA_HOME
.
migctl
Detén la VM de Compute Engine. La VM debe detenerse para crear una migración. Una vez finalizada la migración, puedes reiniciar la VM.
Crea la migración:
migctl migration create my-migration --source my-ce-src --vm-id my-id --type tomcat-container --parameters catalina-base=/catalina/base/path1:/catalina/base/path2,catalina-home=/catalina/home/path/,java-version=11
--vm-id
: Especifica el nombre de la instancia como se muestra en la consola de servicio.catalina-base
especifica una lista de valoresCATALINA_BASE
separados por dos puntos.catalina-home
especifica el valor deCATALINA_HOME
.java-version
es un parámetro opcional que especifica la versión de Java que usará el contenedor.
CRD
Para definir una migración, crea un archivo de migración llamado
my-migration.yaml
.En este archivo, configura los siguientes campos:
sourceProvider
: Especifica el nombre de un SourceProvider creado con anterioridad.sourceId
: especifica el nombre de la instancia de la VM de Compute Engine.parameters
: Establece parámetros específicos para las cargas de trabajo de Tomcat.
A continuación, se muestra un ejemplo de un archivo de migración con estos valores de campo establecidos:
apiVersion: anthos-migrate.cloud.google.com/v1 kind: Migration metadata: name: my-migration namespace: v2k-system spec: type: tomcat-container sourceSnapshotTemplate: spec: sourceProviderRef: name: my-ce-src sourceId: my-id parameters: - name: catalina-base value: /opt/tomcat - name: catalina-home value: /opt/tomcat
Si migras una VM de Compute Engine, detén la VM. La VM debe detenerse para crear una migración. Una vez finalizada la migración, puedes reiniciar la VM.
Aplica el siguiente archivo:
kubectl apply -f my-migration.yaml
Cargas de trabajo tradicionales de WebSphere
Especifica WAS_HOME
La variable de entorno WAS_HOME
especifica dónde se instala el WAS tradicional, como /opt/IBM/WebSphere/AppServer/
. Migrate to Containers usan este valor cuando creas una migración para ejecutar secuencias de comandos que recuperan información sobre una app y determinar la ruta de un perfil de la app. Si Migrate to Containers no logra ubicar la carpeta de instalación, puedes establecer el valor de WAS_HOME
.
migctl
Detenga la VM. La VM debe detenerse para crear una migración. Una vez finalizada la migración, puedes reiniciar la VM.
Crea la migración:
migctl migration create my-migration --source
my-was-src --vm-idmy-id --type websphere-traditional-container --parameters was-home=/opt/IBM/WebSphere/AppServer/ En el ejemplo anterior,
--vm-id
especifica el nombre de la instancia como se muestra en la consola de servicio.
CRD
Para definir una migración, crea un archivo de migración llamado
my-migration.yaml
.En este archivo, configura los siguientes campos:
sourceProvider
: Especifica el nombre de un SourceProvider creado con anterioridad.sourceId
: Especifica el nombre de la instancia de VM de Compute Engine.parameters
: Establece parámetros específicos para las cargas de trabajo de WebSphere.
A continuación, se muestra un ejemplo de un archivo de migración con estos valores de campo establecidos:
apiVersion: anthos-migrate.cloud.google.com/v1 kind: Migration metadata: name: my-migration namespace: v2k-system spec: type: websphere-traditional-container sourceSnapshotTemplate: spec: sourceProviderRef: name: my-ce-src sourceId: my-id parameters: - name: was_home value: /opt/IBM/WebSphere/AppServer/
Si migras una VM de Compute Engine, detén la VM. La VM debe detenerse para crear una migración. Una vez finalizada la migración, puedes reiniciar la VM.
Aplica el siguiente archivo:
kubectl apply -f my-migration.yaml
Cargas de trabajo de JBoss
Crea una migración mediante la herramienta migctl
o la consola de Google Cloud.
migctl
Detenga la VM. La VM debe detenerse para crear una migración. Una vez finalizada la migración, puedes reiniciar la VM.
Crea la migración:
migctl migration create my-migration --source
my-src --vm-idmy-id --type=jboss-container --parameters jboss-home=/opt/jboss En el ejemplo anterior,
--vm-id
especifica el nombre de la instancia de VM como se muestra en la consola de tipo de origen.
Consola
Si la fuente de migración es una VM de Compute Engine, detén la VM de Compute Engine. La VM debe detenerse para crear una migración. Una vez finalizada la migración, puedes reiniciar la VM.
Abre la página Migrate to Containers en la consola de Google Cloud.
Haz clic en la pestaña Migraciones para ver una tabla con las migraciones disponibles.
Haz clic en Crear migración.
Ingresa el Nombre de la migración.
Selecciona la fuente de migración que creaste en Agrega una fuente de migración.
Configura el Tipo de carga de trabajo como Contenedor de JBoss.
Ingresa el Nombre de la instancia de origen. Consulta Antes de comenzar si deseas obtener más información para determinar el nombre de la instancia.
Establece el parámetro JBOSS_HOME usando la ruta de instalación de JBoss.
Haz clic en Crear migración.
Cuando se completa la creación de la migración, la columna Estado muestra Migration plan generated.
CRD
Para definir una migración, crea un archivo de migración llamado
my-migration.yaml
.En este archivo, el campo
name
ensourceProviderRef
especifica el nombre de un SourceProvider creado con anterioridad y el camposourceId
especifica el nombre de la instancia de Compute Engine. En el campotype
, ingresajboss-container
. Puedes agregar una lista de parámetros de descubrimiento endiscoveryParameters
. Cada parámetrodiscoveryParameters
tiene 2 propiedades:name
yvalue
. Cuando creas una migración de JBoss, el parámetrodiscoveryParameters
llamadojboss-home
, que especifica la ruta de acceso principal de JBoss, como suvalue
es obligatorio.apiVersion: anthos-migrate.cloud.google.com/v1 kind: Migration metadata: name: my-migration namespace: v2k-system spec: type: jboss-container2 discoveryParameters: - name: jboss-home value: /path-to-jboss-home sourceSnapshotTemplate: spec: sourceProviderRef: name: my-ce-src sourceId: my-id
Si migras una VM de Compute Engine, detén la VM. La VM debe detenerse para crear una migración. Una vez finalizada la migración, puedes reiniciar la VM.
Aplica el siguiente archivo:
kubectl apply -f my-migration.yaml
Cargas de trabajo de Apache
Crea una migración mediante la herramienta migctl
o la consola de Google Cloud.
migctl
Detenga la VM. La VM debe detenerse para crear una migración. Una vez finalizada la migración, puedes reiniciar la VM.
Crea la migración:
migctl migration create my-migration --source
my-src --vm-idmy-id --type=apache-containerEn el ejemplo anterior,
--vm-id
especifica el nombre de la instancia de VM como se muestra en la consola de tipo de origen.
Consola
Si la fuente de migración es una VM de Compute Engine, detén la VM de Compute Engine. La VM debe detenerse para crear una migración. Una vez finalizada la migración, puedes reiniciar la VM.
Abre la página Migrate to Containers en la consola de Google Cloud.
Haz clic en la pestaña Migraciones para ver una tabla con las migraciones disponibles.
Haz clic en Crear migración.
Ingresa el Nombre de la migración.
Selecciona la fuente de migración que creaste en Agrega una fuente de migración.
Configura el Tipo de carga de trabajo como Contenedor de Apache.
Ingresa el ID de VM de origen. Consulta Antes de comenzar para obtener más información sobre cómo se determina el ID de la VM.
Haz clic en Crear migración.
Cuando se completa la creación de la migración, la columna Estado muestra Migration plan generated.
CRD
Para definir una migración, crea un archivo de migración llamado
my-migration.yaml
.En este archivo, el campo
name
ensourceProviderRef
especifica el nombre de un SourceProvider creado con anterioridad y el camposourceId
especifica el nombre de la instancia de Compute Engine. En el campotype
, ingresaapache-container
.apiVersion: anthos-migrate.cloud.google.com/v1 kind: Migration metadata: name: my-migration namespace: v2k-system spec: type: apache-container sourceSnapshotTemplate: spec: sourceProviderRef: name: my-ce-src sourceId: my-id
Si migras una VM de Compute Engine, detén la VM. La VM debe detenerse para crear una migración. Una vez finalizada la migración, puedes reiniciar la VM.
Aplica el siguiente archivo:
kubectl apply -f my-migration.yaml
Cargas de trabajo de WordPress
Crea una migración mediante la herramienta migctl
o la consola de Google Cloud.
migctl
Detenga la VM. La VM debe detenerse para crear una migración. Una vez finalizada la migración, puedes reiniciar la VM.
Crea la migración:
migctl migration create my-migration --source
my-src --vm-idmy-id --type=wordpress-containerEn el ejemplo anterior,
--vm-id
especifica el nombre de la instancia de VM como se muestra en la consola de tipo de origen.
Consola
Si la fuente de migración es una VM de Compute Engine, detén la VM de Compute Engine. La VM debe detenerse para crear una migración. Una vez finalizada la migración, puedes reiniciar la VM.
Abre la página Migrate to Containers en la consola de Google Cloud.
Haz clic en la pestaña Migraciones para ver una tabla con las migraciones disponibles.
Haz clic en Crear migración.
Ingresa el Nombre de la migración.
Selecciona la fuente de migración que creaste en Agrega una fuente de migración.
Configura el Tipo de carga de trabajo como Contenedor de WordPress.
Ingresa el ID de VM de origen. Consulta Antes de comenzar para obtener más información sobre cómo se determina el ID de la VM.
Haz clic en Crear migración.
Cuando se completa la creación de la migración, la columna Estado muestra Migration plan generated.
CRD
Para definir una migración, crea un archivo de migración llamado
my-migration.yaml
.En este archivo, el campo
name
ensourceProviderRef
especifica el nombre de un SourceProvider creado con anterioridad y el camposourceId
especifica el nombre de la instancia de Compute Engine. En el campotype
, ingresawordpress-container
.apiVersion: anthos-migrate.cloud.google.com/v1 kind: Migration metadata: name: my-migration namespace: v2k-system spec: type: wordpress-container sourceSnapshotTemplate: spec: sourceProviderRef: name: my-ce-src sourceId: my-id
Si migras una VM de Compute Engine, detén la VM. La VM debe detenerse para crear una migración. Una vez finalizada la migración, puedes reiniciar la VM.
Aplica el siguiente archivo:
kubectl apply -f my-migration.yaml
Supervisa la creación de migraciones
Usa la herramienta de migctl
o la consola de Google Cloud para supervisar el progreso de la creación de la migración.
migctl
Espera a que finalice la fase de creación de la migración:
migctl migration status my-migration NAME CURRENT-OPERATION PROGRESS STEP STATUS AGE my-migration GenerateMigrationPlan [1/3] CreateSourceSnapshots Running 13s
Si quieres migrar una VM de Compute Engine, reiníciala. No se requiere una VM detenida después de este paso.
Consola
Cuando el estado de la migración muestra que se creó la migración, puedes continuar con el siguiente paso:
Abre la página Migrate to Containers en la consola de Google Cloud.
Haz clic en la pestaña Migraciones para ver una tabla con las migraciones disponibles.
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 página 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.
Cuando se completa la migración, el Estado muestra Migration plan generated.
Si quieres migrar una VM de Compute Engine, reiníciala. No se requiere una VM detenida después de este paso.
CRD
Usa kubectl
para obtener la información y el estado de MigrationStatus mediante la especificación de una JSONPath al campo necesario.
Espera a que finalice la fase de creación de la migración:
Usa dos comandos
kubectl wait
, uno para esperar la condición “Listo” y el otro para la condición “Con errores”. La fase de creación del plan de migración se ejecuta hasta que se cumpla la primera condición.unset pids; for cond in "Ready" "Failed"; do kubectl wait migrations.anthos-migrate.cloud.google.com my-migration -n v2k-system --for condition=$cond --timeout=15m & pids+=($!); done; wait -p met_pid -n ${pids[@]} kill ${pids[@]/$met_pid} # terminate the process that did not complete.
Cuando se complete el comando de espera, la operación habrá finalizado y podrás continuar con el siguiente paso.
Obtén el estado del plan de migración:
kubectl get migrations.anthos-migrate.cloud.google.com -n v2k-system -o jsonpath={.status.conditions[?(@.type==\"Ready\")].status} my-migration
Muestra
True
cuando el plan de migración está listo oFalse
cuando falló.Cuando falle la fase de creación de la migración, usa el siguiente comando para obtener el mensaje de error:
kubectl get migrations.anthos-migrate.cloud.google.com -n v2k-system -o jsonpath={.status.conditions[?(@.type=="Ready")].message} my-migration
Si quieres migrar una VM de Compute Engine, reiníciala. No se requiere una VM detenida después de este paso.
¿Qué sigue?
- Aprende a migrar datos.