Migrer à chaud des VM manuellement


Pour déplacer des VM à locataire unique vers un autre nœud ou groupe de nœuds, vous pouvez lancer manuellement une migration à chaud. Vous pouvez également lancer manuellement une migration à chaud pour déplacer une VM mutualisée vers une location unique. Pour en savoir plus sur le déplacement d'une VM hors d'une location unique, consultez la section Déplacer une VM hors d'une location unique.

Avant de commencer

  • Si ce n'est pas déjà fait, configurez l'authentification. L'authentification est le processus permettant de valider votre identité pour accéder aux services et aux API Google Cloud. Pour exécuter du code ou des exemples depuis un environnement de développement local, vous pouvez vous authentifier auprès de Compute Engine comme suit :

    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

      Pour utiliser les exemples d'API REST de cette page dans un environnement de développement local, vous devez utiliser les identifiants que vous fournissez à gcloud CLI.

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

        gcloud init

      Pour en savoir plus, consultez la section S'authentifier pour utiliser REST dans la documentation sur l'authentification Google Cloud.

Limites de débit des API

Les requêtes manuelles de migration à chaud sont classées dans la limite de débit des API des requêtes.

Migrer des VM à chaud manuellement dans une location unique

Pour migrer des VM à chaud manuellement dans une location unique, utilisez gcloud CLI ou REST.

Si la destination de la VM est un groupe de nœuds, Compute Engine sélectionne le nœud du groupe disposant de suffisamment d'espace pour la VM et de la capacité minimale disponible.

Vous ne pouvez pas effectuer une migration à chaud entre des projets lorsque vous utilisez des groupes de nœuds à locataire unique partagés.

Autorisations requises pour cette tâche

Pour effectuer cette tâche, vous devez disposer des autorisations suivantes :

  • Autorisations compute.instances.update sur la VM.

gcloud

Pour migrer des VM à chaud manuellement dans une location unique, exécutez la commande gcloud compute instances update suivante :

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

Remplacez les éléments suivants :

  • VM_NAME : nom de la VM pour laquelle mettre à jour les libellés d'affinité de nœuds.

Remplacez exactement l'un des éléments suivants :

  • NODE : nom du nœud vers lequel migrer à chaud la VM.

  • NODE_GROUP : nom du groupe de nœuds vers lequel migrer à chaud la VM.

  • NODE_AFFINITY_FILE : nom d'un fichier JSON contenant une configuration de nœuds sur lesquels cette VM peut être programmée. Pour en savoir plus, consultez la page Configurer les libellés d'affinité de nœuds.

REST

Pour migrer des VM à chaud manuellement dans une location unique, utilisez la méthode instances.update suivante :

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

Remplacez les éléments suivants :

  • PROJECT_ID : ID du projet contenant la VM pour laquelle mettre à jour les libellés d'affinité de nœuds.

  • ZONE : zone de la VM pour laquelle mettre à jour les libellés d'affinité de nœuds.

  • VM_NAME : nom de la VM pour laquelle mettre à jour les libellés d'affinité de nœuds.

  • NODE_AFFINITY_LABEL_KEY : l'une des chaînes suivantes qui spécifie si la VM doit être migrée à chaud vers un groupe de nœuds ou un nœud :

    Destination de la VM Clé à spécifier
    Groupe de nœuds compute.googleapis.com/node-group-name
    Nœud compute.googleapis.com/node-name
  • NODE_AFFINITY_LABEL_VALUE : nom du groupe de nœuds ou du nœud vers lequel migrer la VM à chaud.

Étape suivante