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.

    Selecciona la pestaña sobre cómo planeas usar las muestras en esta página:

    gcloud

    1. Instala Google Cloud CLI y, luego, inicializa la ejecución del siguiente comando:

      gcloud init
    2. Configura una región y una zona predeterminadas.

    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.

      Instala Google Cloud CLI y, luego, inicializa la ejecución del siguiente comando:

      gcloud init

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 VM en vivo manualmente a un usuario único 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 dentro del grupo que tiene suficiente espacio para la VM y la menor cantidad de capacidad libre.

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

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?