Migrar manualmente máquinas virtuales en tiempo real


Para mover máquinas virtuales de único cliente a otro nodo u otro grupo de nodos, puedes iniciar manualmente una migración en tiempo real. También puedes iniciar manualmente una migración en tiempo real para mover una VM multitenant a un único cliente. Para obtener información sobre cómo mover una VM de único cliente, consulta Mover una VM de único cliente.

Antes de empezar

  • Si aún no lo has hecho, configura la autenticación. La autenticación verifica tu identidad para acceder a Google Cloud servicios y APIs. Para ejecutar código o ejemplos desde un entorno de desarrollo local, puedes autenticarte en Compute Engine seleccionando una de las siguientes opciones:

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

    gcloud

    1. Instala Google Cloud CLI. Después de la instalación, inicializa la CLI de Google Cloud ejecutando el siguiente comando:

      gcloud init

      Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.

    2. Set a default region and zone.

    REST

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

      Instala Google Cloud CLI. Después de la instalación, inicializa la CLI de Google Cloud ejecutando el siguiente comando:

      gcloud init

      Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.

    Para obtener más información, consulta el artículo Autenticarse para usar REST de la documentación sobre autenticación de Google Cloud .

Límites de frecuencia de la API

Las solicitudes de migración en directo manuales se clasifican en el límite de frecuencia de la API Queries (Consultas).

Migrar manualmente máquinas virtuales en tiempo real a un único cliente o dentro de él

Para migrar manualmente máquinas virtuales en tiempo real a un único cliente o dentro de él, usa la CLI de gcloud o REST.

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

No puedes realizar migraciones en directo entre proyectos mientras usas grupos de nodos de un solo propietario compartidos.

Permisos que se necesitan para completar esta tarea

Para realizar esta tarea, debes tener los siguientes permisos:

  • Permisos de compute.instances.update en la VM.

gcloud

Para migrar manualmente máquinas virtuales a un único cliente o dentro de él en tiempo real, usa el siguiente gcloud compute instances updatecomando:

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

Haz los cambios siguientes:

  • VM_NAME: el nombre de la VM para la que se van a actualizar las etiquetas de afinidad de nodos.

Sustituye exactamente uno de los siguientes elementos:

  • NODE: nombre del nodo al que se va a migrar la VM.

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

  • NODE_AFFINITY_FILE: el nombre de un archivo JSON que contiene una configuración de nodos en los que se puede programar esta VM. Para obtener más información, consulta Configurar etiquetas de afinidad de nodos.

REST

Para migrar manualmente máquinas virtuales en tiempo real a un único cliente o dentro de él, sigue este instances.updatemétodo:

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]"
        ]
      }
    ]
  }
  ...
}

Haz los cambios siguientes:

  • PROJECT_ID: ID del proyecto que tiene la VM para actualizar las etiquetas de afinidad de nodos.

  • ZONE: la zona de la VM para la que se van a actualizar las etiquetas de afinidad de nodos.

  • VM_NAME: el nombre de la VM para la que se van a actualizar las etiquetas de afinidad de nodos.

  • NODE_AFFINITY_LABEL_KEY: una de las siguientes cadenas que especifica si se debe migrar en tiempo real la VM a un grupo de nodos o a un nodo:

    VM de destino Clave que se va a especificar
    Grupo de nodos compute.googleapis.com/node-group-name
    Node compute.googleapis.com/node-name
  • NODE_AFFINITY_LABEL_VALUE: el nombre del grupo de nodos o del nodo al que se va a migrar la VM.

Siguientes pasos