Migra en vivo las VM de forma manual


Para mover VM de usuario único a un nodo o grupo de nodos diferente, puedes iniciar manualmente una migración en vivo. También puedes iniciar de forma manual una migración en vivo para mover una VM de multiusuario a un usuario único. Para obtener información sobre cómo mover una VM fuera de un usuario único, consulta Mueve una VM fuera de un usuario único.

Antes de comenzar

  • Configura la autenticación si aún no lo hiciste. La autenticación es el proceso mediante el cual se verifica tu identidad para acceder a los servicios y las API de Google Cloud. Para ejecutar código o muestras desde un entorno de desarrollo local, puedes autenticarte en Compute Engine de la siguiente manera

    Select the tab for how you plan to use the samples on this page:

    gcloud

    1. Install the Google Cloud CLI, then initialize it by running the following command:

      gcloud init
    2. Set a default region and zone.
    3. REST

      Para usar las muestras de la API de REST en esta página en un entorno de desarrollo local, debes usar las credenciales que proporcionas a la CLI de gcloud.

        Install the Google Cloud CLI, then initialize it by running the following command:

        gcloud init

      Si deseas obtener más información, consulta Autentica para usar REST en la documentación de autenticación de Google Cloud.

Límites de frecuencia de la API

Las solicitudes manuales de migración en vivo se clasifican en el límite de frecuencia de la API de consultas.

Migra las VM manualmente a un usuario único o dentro de él

Para migrar VMs en vivo manualmente a un usuario único o dentro de él, usa gcloud CLI o REST.

Si el destino de la VM es un grupo de nodos, Compute Engine selecciona el nodo dentro del grupo que tiene suficiente espacio para la VM y la menor cantidad de capacidad libre.

No puedes realizar la migración en vivo entre proyectos mientras usas grupos de nodos de usuario único compartidos.

Permisos necesarios para esta tarea

Para realizar esta tarea, debes tener los siguientes permisos:

  • compute.instances.update Permisos en la VM.

gcloud

Para migrar VM en vivo manualmente a un usuario único, usa el siguiente comando gcloud compute instances update:

gcloud compute instances update VM_NAME \
    ( --node=NODE \
      --node-group=NODE_GROUP \
      --node-affinity-file=NODE_AFFINITY_FILE )

Reemplaza lo siguiente:

  • VM_NAME: Es el nombre de la VM para la que se actualizarán las etiquetas de afinidad de nodo.

Reemplaza exactamente uno de los siguientes elementos:

  • NODE: Es el nombre del nodo al que se migrará en vivo la VM.

  • NODE_GROUP: Es el nombre del grupo de nodos al que se migrará en vivo la VM.

  • NODE_AFFINITY_FILE: Es el nombre de un archivo JSON que contiene una configuración de nodos en la que se podría programar esta VM. Para obtener más información, consulta Configura etiquetas de afinidad de nodo.

REST

Para migrar VM en vivo manualmente a un usuario único o dentro de él, usa el siguiente método instances.update:

PUT https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME

{
  ...
  "scheduling": {
    "nodeAffinities": [
      {
        "key": "NODE_AFFINITY_LABEL_KEY",
        "operator": "IN",
        "values": [
          "[NODE_AFFINITY_LABEL_VALUE]"
        ]
      }
    ]
  }
  ...
}

Reemplaza lo siguiente:

  • PROJECT_ID: Es el ID del proyecto en el que se encuentra la VM para actualizar las etiquetas de afinidad de nodo.

  • ZONE: Es la zona de la VM para la que se actualizarán las etiquetas de afinidad de nodo.

  • VM_NAME: Es el nombre de la VM para la que se actualizarán las etiquetas de afinidad de nodo.

  • NODE_AFFINITY_LABEL_KEY: Es una de las siguientes strings que especifica si se debe migrar en vivo la VM a un nodo o grupo de nodos:

    Destino de la VM Clave para especificar
    Grupo de nodos compute.googleapis.com/node-group-name
    Nodo compute.googleapis.com/node-name
  • NODE_AFFINITY_LABEL_VALUE: Es el nombre del nodo o grupo de nodos al que se migrará en vivo la VM.

¿Qué sigue?