Agrega una fuente de migración

Antes de comenzar una migración, deberás crear una fuente de migración que represente la plataforma de origen desde la que deseas migrar la aplicación. Esto se incluirá en tu plan de migración. En este tema, se describe cómo crear una fuente para cada una de las plataformas de origen compatibles.

Puedes implementar la aplicación en contenedores en los siguientes elementos:

Requisitos para nombrar las fuentes

Debes asignar un nombre a una fuente de migración cuando la agregas a Migrate for Anthos and GKE. 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.

Agrega una fuente de migración

Define la fuente de la migración ejecutando el comando migctl source create o mediante Google Cloud Console. Con este proceso, se agregan detalles necesarios para migrar desde la fuente que especificas: VMware, AWS, Azure, Compute Engine o local.

migctl en Google Cloud

Compute Engine

  1. Crea una cuenta de servicio para usar Compute Engine como una fuente de migración y descarga el archivo de claves JSON, como se describe en Configura una cuenta de servicio.

  2. Crear la fuente con la siguiente cuenta de servicio:

    migctl source create ce my-ce-src --project my-project --json-key=m2c-ce-src.json

    En el ejemplo anterior, m2c-ce-src.json especifica la cuenta de servicio.

VMware

migctl source create vmware my-vmware-src --manager-address 1.2.3.4 --cloud-extension my-cloud-extension

Especifica la:

Se te solicita la contraseña del servidor de administración de Migrate for Compute Engine.

AWS

migctl source create aws my-aws-src --manager-address 1.2.3.4 --cloud-details cloud-details --cloud-extension cloud-extension

Especifica la:

Se te solicita la contraseña del servidor de administración de Migrate for Compute Engine.

Azure

migctl source create azure my-azure-src --manager-address 1.2.3.4 --cloud-details cloud-details --cloud-extension cloud-extension

Especifica la:

Se te solicitará la contraseña del servidor de administración de Migrate for Compute Engine.

migctl en VMware

VMware

migctl source create local-vmware local-vmware-src --vc '1.2.3.4' --username 'admin'

En el ejemplo anterior, se ilustra lo siguiente:

  • --vc especifica el nombre de DNS de vCenter o la dirección IP de vCenter.
  • --username especifica un usuario que tiene permiso para acceder a vCenter. Se te solicitará que ingreses la contraseña del usuario.

migctl en AWS

AWS

  1. Crea la fuente:

    migctl source create local-aws local-aws-src --region my-region --access-key-id my-access-key-id

    o:

    migctl source create local-aws local-aws-src --region my-region --credentials-file-path=credentials.csv

    En el ejemplo anterior, se ilustra lo siguiente:

    • --region especifica la región de Google Cloud del clúster.
    • --access-key-id especifica el ID de la clave de acceso de AWS para un usuario que tiene permiso para acceder a AWS. Se te pedirá que ingreses el secreto del ID de la clave de acceso. Consulta Cómo administrar claves de acceso para usuarios de IAM a fin de obtener más información.
    • --credentials-file-path especifica la ruta a un archivo CSV, descargado de la consola de AWS, que contiene las credenciales. Consulta Configura grupos y funciones de instancia de IAM para AWS a fin de obtener más información sobre cómo crear el archivo CSV.

CRD

  1. Crea un archivo my-source-provider.yaml de SourceProvider para crear una fuente de migración:

    apiVersion: anthos-migrate.cloud.google.com/v1beta2
    kind: SourceProvider
    metadata:
      name: my-ce-src
    spec:
      gce:
        project: my-project
  2. Si usas Compute Engine como la fuente de migración, haz lo siguiente:

    1. Crea una cuenta de servicio y descarga el archivo de claves JSON, como se describe en Configura una cuenta de servicio.

    2. Crea un secreto llamado my-secret con el siguiente comando:

      kubectl create secret generic my-secret -n v2k-system --from-file=cloud-platform-service-account-key=m2c-ce-src.json
    3. Incluye el secreto en el SourceProvider:

      apiVersion: anthos-migrate.cloud.google.com/v1beta2
      kind: SourceProvider
      metadata:
       name: my-ce-src
      spec:
       gce:
         project: my-project
         serviceAccount:
           secretRef:
             name: my-secret
             namespace: v2k-system
  3. Si realizas una migración para AWS, Azure o VMware, edita el SourceProvider para especificar lo siguiente:

    apiVersion: anthos-migrate.cloud.google.com/v1beta2
    kind: SourceProvider
    metadata:
      name: migration-source-name
    spec:
      migrateForCE:
        management:
          address: manager-ip-address
          cloudDetails:
            platform: aws | azure | vmware
            name: Name of the source, as configured in Migrate for Compute Engine
          cloudExtension: ID or name of the Migrate for Anthos and GKE extension
          password:
            <-- Password for your Migrate for Compute Engine management server. --->
            secretRef:
              name: secret-name
              namespace: v2k-system
  4. Si realizas una migración en clústeres de Anthos alojados en VMware, debes crear un secreto para las credenciales de vCenter, con el formato siguiente:

    kubectl create secret generic secret-vcenter -n v2k-system --from-literal='vc-password=pass1'

    Luego, incluye el secretRef:

    apiVersion: anthos-migrate.cloud.google.com/v1beta2
    kind: SourceProvider
    metadata:
      name: my-ce-src
    spec:
      localVmware:
        address: 1.2.3.4
        username: admin
        password:
          secretRef:
            name: secret-vcenter
            namespace: v2k-system
  5. Si realizas una migración en clústeres de Anthos en AWS, debes crear un secreto para las credenciales de AWS, con el formato siguiente:

    kubectl create secret generic secret-aws -n v2k-system --from-literal='AwsAccessKeyId=admin' --from-literal='AWS_SECRET_ACCESS_KEY=pass1'

    Luego, incluye el secretRef:

    apiVersion: anthos-migrate.cloud.google.com/v1beta2
    kind: SourceProvider
    metadata:
      name: my-ce-src
    spec:
      localAws:
        # Google Cloud region of cluster.
        region: my-region
        accessKeyId: admin
        secretAccessKey:
          secretRef:
            name: secret-aws
            namespace: v2k-system
  6. Aplica el siguiente archivo:

    kubectl apply -f my-source-provider.yaml

Console

  1. Abre la página Migrate for Anthos and GKE en Cloud Console.

    Ir a la página Migrar a contenedores

  2. Si usas un clúster remoto de Anthos, lo que significa que usas clústeres de Anthos alojados en VMware o clústeres de Anthos alojados en AWS, y que aún no accediste al clúster, accede ahora.

    Para obtener más información sobre cómo acceder a los clústeres remotos, consulta Accede a un clúster desde Cloud Console.

  3. Haz clic en la pestaña Fuentes para ver una tabla que contenga las fuentes disponibles.

  4. Haz clic en Agregar fuente.

  5. Selecciona un clúster en el que ya hayas instalado los componentes de Migrate for Anthos and GKE de la lista desplegable.

  6. Haga clic en Next.

  7. Especifica el nombre de la fuente, como my-ce-source1.

  8. Selecciona el Tipo de origen.

  9. Haga clic en Next.

  10. Configura la fuente según tu selección para el Tipo de fuente:

    1. Para Compute Engine:

      1. Selecciona el proyecto que contenga la VM que deseas migrar.

      2. Selecciona la cuenta de servicio. Para hacerlo, tienes las alternativas siguientes:

        1. Crear una nueva cuenta de servicio. Se te solicitará que ingreses el nombre de la cuenta nueva.
        2. Usa una cuenta de servicio existente si creaste una como se describe en Crea una cuenta de servicio para usar Compute Engine como fuente de migración. Cuando seleccionas esta opción, se te solicita que ingreses el contenido del archivo de claves JSON asociado con esa cuenta de servicio.
    2. Para VMware, AWS y Azure:

      1. Especifica la dirección IP o la URL de Migrate for Compute Engine Manager.

      2. Especifica la contraseña de Migrate for Compute Engine Manager.

      3. Especifica el nombre de la extensión de Migrate for Compute Engine.

      4. Solo para AWS y Azure: Especifica el nombre de los detalles de Cloud, como se configuró en Migrate for Compute Engine.

    3. En VMware local:

      1. Especifica el nombre de DNS de vCenter o la dirección IP de vCenter.

      2. Especifica el usuario y la contraseña de un usuario de vCenter que tenga permiso para acceder a vCenter.

    4. En AWS Local, haz lo siguiente:

      1. Especifica la región de tu clúster.

      2. Especifica las credenciales de AWS como se indica a continuación:

        • Un ID de clave de acceso y un secreto para un usuario que tiene permiso de acceso a AWS.
        • Un archivo CSV de credenciales, descargado de la consola de AWS, que contiene las credenciales. Consulta Configura grupos de IAM y funciones de instancia de AWS a fin de obtener más información sobre cómo crear el archivo CSV.
  11. Haga clic en Next.

  12. Selecciona Agregar fuente.

Después de agregar la fuente, el clúster debe tener un nuevo SourceProvider cuyo nombre sea el nombre de origen, aquí my-vmware-src:

kubectl get SourceProvider
NAME                 STATE
my-vmware-src        READY

Visualiza una lista de fuentes

Puedes ver la lista de fuentes de migración con el comando migctl source list. Puedes usar el resultado del comando para confirmar que configuraste correctamente tu entorno con la fuente de migración.

migctl

migctl source list
NAME            TYPE    STATE   PROJECT     CLOUD-DETAILS   CLOUD-EXTENSION     VCENTER/MANAGER-ADDRESS
my-vmware-src   VMware  READY my-project  VMware        my-cloud-extension  1.2.3.4

En el ejemplo anterior, VCENTER/MANAGER-ADDRESS especifica lo siguiente:

  • Para las migraciones de Cloud, la dirección del servidor de administración de Migrate for Compute Engine.
  • Para las migraciones locales, el nombre de DNS de vCenter o la dirección IP de vCenter.

Si una fuente no está en el estado READY, puedes obtener más información sobre la fuente, incluidos los mensajes de error, mediante el siguiente comando:

migctl source status my-vmware-src

Console

  1. Abre la página Migrate for Anthos and GKE en Cloud Console.

    Ir a la página Migrar a contenedores

  2. Haz clic en la pestaña Fuentes para ver una tabla que contenga las fuentes disponibles.

    En la tabla VCENTER/MANAGER-ADDRESS, se especifica la dirección de tu servidor de administración de Migrate for Compute Engine.

Borra una fuente

Puedes usar migctl source delete para borrar la fuente si deseas realizar un cambio y volver a crearlo. Si ejecutas

migctl source delete my-tomcat-src

Próximos pasos

Crea una migración.