Créer et démarrer une instance de VM

Cette page explique comment créer une instance de machine virtuelle (VM) à l'aide d'une image de disque de démarrage ou d'un instantané de disque de démarrage.

Vous pouvez créer une VM avec un ou plusieurs disques. Vous pouvez également ajouter des disques à votre VM après sa création. Google Distributed Cloud (GDC) air-gapped démarre automatiquement l'instance de VM après sa création.

Vous pouvez ajouter des scripts de démarrage à une VM, avant ou après sa création. Pour en savoir plus sur les scripts de démarrage, consultez la page Utiliser un script de démarrage avec une instance de VM.

Avant de commencer

Pour utiliser les commandes de l'interface de ligne de commande (CLI) gdcloud, assurez-vous d'avoir téléchargé, installé et configuré la CLI gdcloud. Toutes les commandes pour Distributed Cloud utilisent la CLI gdcloud ou kubectl et nécessitent un environnement de système d'exploitation (OS).

Obtenir le chemin d'accès au fichier kubeconfig

Pour exécuter des commandes sur le serveur de l'API Management, assurez-vous de disposer des ressources suivantes :

  1. Connectez-vous et générez le fichier kubeconfig pour le serveur d'API Management si vous n'en avez pas.

  2. Utilisez le chemin d'accès au fichier kubeconfig du serveur de l'API Management pour remplacer MANAGEMENT_API_SERVER dans ces instructions.

Demander des autorisations et un accès

Pour effectuer les tâches listées sur cette page, vous devez disposer du rôle Administrateur VirtualMachine du projet. Suivez les étapes pour vérifier que vous disposez du rôle Administrateur VirtualMachine du projet (project-vm-admin) dans l'espace de noms du projet dans lequel réside la VM.

Pour les opérations sur les VM à l'aide de la console GDC ou de la CLI gdcloud, demandez à votre administrateur IAM de projet de vous attribuer le rôle Administrateur de machines virtuelles du projet et le rôle Lecteur du projet (project-viewer).

Créer une instance de VM à partir d'une image

Cette section explique comment créer une VM à partir d'une image d'OS fournie par GDC ou d'une image d'OS personnalisée.

Afficher la liste des images fournies par GDC

Avant de créer une VM à l'aide d'une image fournie par GDC, consultez la liste des images disponibles. Pour en savoir plus sur les images fournies par GDC, consultez Images de VM compatibles.

gdcloud

  • Répertoriez toutes les images disponibles et leur taille de disque minimale :

    gdcloud compute images list
    

    Cette commande inclut les images fournies par GDC et les images personnalisées. Choisissez une image dans l'espace de noms vm-system.

API

  1. Répertoriez toutes les images fournies par GDC :

    kubectl --kubeconfig MANAGEMENT_API_SERVER \
    get virtualmachineimage.virtualmachine.gdc.goog --namespace vm-system
    
  2. Obtenez le minimumDiskSize pour une image spécifique fournie par le GDC :

    kubectl --kubeconfig MANAGEMENT_API_SERVER \
        get virtualmachineimage.virtualmachine.gdc.goog --namespace vm-system \
        BOOT_DISK_IMAGE_NAME -ojsonpath='{.spec.minimumDiskSize}{"\n"}'
    

    Remplacez les éléments suivants :

    • MANAGEMENT_API_SERVER : fichier kubeconfig pour le serveur de l'API Management.
    • BOOT_DISK_IMAGE_NAME : nom de l'image.

Créer une instance de VM à partir d'une image fournie par GDC

Par défaut, tous les projets GDC peuvent créer des VM à partir d'images d'OS fournies par GDC.

gdcloud

  1. Sélectionnez une image fournie par GDC pour créer l'instance de VM :

    gdcloud compute instances create VM_NAME \
        --machine-type=MACHINE_TYPE \
        --image=BOOT_DISK_IMAGE_NAME --image-project=vm-system \
        --boot-disk-size=BOOT_DISK_SIZE \
        --no-boot-disk-auto-delete=NO_BOOT_DISK_AUTO_DELETE
    

    Remplacez les éléments suivants :

    VariableDéfinition
    VM_NAME Nom de la nouvelle VM. Le nom ne doit contenir que des caractères alphanumériques et des tirets, et ne doit pas dépasser 53 caractères.
    BOOT_DISK_IMAGE_NAME Nom de l'image à utiliser pour le disque de démarrage de la nouvelle VM.
    BOOT_DISK_SIZE Taille du disque de démarrage, par exemple 20GB.
    Cette valeur doit toujours être supérieure ou égale à la valeur minimumDiskSize de l'image de disque de démarrage.
    NO_BOOT_DISK_AUTO_DELETE true ou false, indiquant l'inverse de la suppression automatique du disque de démarrage lorsque l'instance de VM est supprimée.
    MACHINE_TYPE Type de machine prédéfini pour la nouvelle VM. Pour sélectionner un type de machine disponible, exécutez la commande suivante :
    gdcloud compute machine-types list

API

  1. Sélectionnez une image fournie par GDC pour créer l'instance de VM :

    kubectl --kubeconfig MANAGEMENT_API_SERVER \
        apply -n PROJECT -f - <<EOF
    apiVersion: virtualmachine.gdc.goog/v1
    kind: VirtualMachineDisk
    metadata:
      name: VM_BOOT_DISK_NAME
    spec:
      source:
        image:
          name: BOOT_DISK_IMAGE_NAME
          namespace: vm-system
      size: BOOT_DISK_SIZE
    ---
    apiVersion: virtualmachine.gdc.goog/v1
    kind: VirtualMachine
    metadata:
      name: VM_NAME
    spec:
      compute:
        virtualMachineType: MACHINE_TYPE
      disks:
        - virtualMachineDiskRef:
            name: VM_BOOT_DISK_NAME
          boot: true
          autoDelete: BOOT_DISK_AUTO_DELETE
    EOF
    

    Remplacez les éléments suivants :

    VariableDéfinition
    MANAGEMENT_API_SERVER Fichier kubeconfig du serveur de l'API Management.
    PROJECT Projet GDC permettant de créer la VM.
    VM_NAME Nom de la nouvelle VM. Le nom ne doit contenir que des caractères alphanumériques et des tirets, et ne doit pas dépasser 53 caractères.
    VM_BOOT_DISK_NAME Nom du nouveau disque de démarrage de la VM.
    BOOT_DISK_IMAGE_NAME Nom de l'image à utiliser pour le disque de démarrage de la nouvelle VM.
    BOOT_DISK_SIZE Taille du disque de démarrage, par exemple 20Gi.
    Cette valeur doit toujours être supérieure ou égale à la valeur minimumDiskSize de l'image de disque de démarrage.
    BOOT_DISK_AUTO_DELETE true ou false, indiquant si le disque de démarrage est automatiquement supprimé lorsque l'instance de VM est supprimée.
    MACHINE_TYPE Type de machine prédéfini pour la nouvelle VM. Pour sélectionner un type de machine disponible, exécutez la commande suivante :
    gdcloud compute machine-types list
  2. Vérifiez que la VM est créée et attendez qu'elle affiche l'état Running. L'état Running n'indique pas que l'OS est entièrement prêt et accessible.

    kubectl --kubeconfig MANAGEMENT_API_SERVER \
    get virtualmachine.virtualmachine.gdc.goog VM_NAME -n PROJECT
    

    Remplacez VM_NAME et PROJECT par le nom et le projet de la VM.

    Pour ajouter un script de démarrage à la création de votre instance de VM, suivez les étapes décrites sur la page Utiliser un script de démarrage avec une instance de VM. Assurez-vous d'arrêter la VM avant d'ajouter le script.

Créer une instance de VM à partir d'une image personnalisée

Une image personnalisée appartient exclusivement à votre projet. Pour créer une VM avec une image personnalisée, vous devez d'abord créer une image personnalisée dans le même projet.

gdcloud

  1. Lister toutes les images personnalisées :

    gdcloud compute images list --no-standard-images=true
    
  2. Créez l'instance de VM comme suit :

    gdcloud compute instances create VM_NAME \
        --machine-type=MACHINE_TYPE \
        --image=BOOT_DISK_IMAGE_NAME \
        --boot-disk-size=BOOT_DISK_SIZE \
        --no-boot-disk-auto-delete=NO_BOOT_DISK_AUTO_DELETE
    

    Remplacez les éléments suivants :

    VariableDéfinition
    VM_NAME Nom de la nouvelle VM. Le nom ne doit contenir que des caractères alphanumériques et des tirets, et ne doit pas dépasser 53 caractères.
    BOOT_DISK_IMAGE_NAME Nom de l'image à utiliser pour le disque de démarrage de la nouvelle VM.
    BOOT_DISK_SIZE Taille du disque de démarrage, par exemple 20GB.
    Cette valeur doit toujours être supérieure ou égale à la valeur minimumDiskSize de l'image de disque de démarrage.
    NO_BOOT_DISK_AUTO_DELETE true ou false, indiquant l'inverse de la suppression automatique du disque de démarrage lorsque l'instance de VM est supprimée.
    MACHINE_TYPE Type de machine prédéfini pour la nouvelle VM. Pour sélectionner un type de machine disponible, exécutez la commande suivante :
    gdcloud compute machine-types list

API

  1. Lister toutes les images personnalisées :

    kubectl --kubeconfig MANAGEMENT_API_SERVER \
        get virtualmachineimage.virtualmachine.gdc.goog --namespace PROJECT
    

    Obtenez le minimumDiskSize d'une image spécifique pour créer une instance de VM :

    kubectl --kubeconfig MANAGEMENT_API_SERVER \
        get virtualmachineimage.virtualmachine.gdc.goog --namespace PROJECT \
        BOOT_DISK_IMAGE_NAME -ojsonpath='{.spec.minimumDiskSize}{"\n"}'
    

    Remplacez les éléments suivants :

    VariableDéfinition
    MANAGEMENT_API_SERVER Fichier kubeconfig du serveur de l'API Management.
    BOOT_DISK_IMAGE_NAME Nom de l'image choisie à partir de la commande permettant de lister toutes les images personnalisées.
    PROJECT Projet de l'image.
  2. Créez l'instance de VM comme suit :

    kubectl --kubeconfig MANAGEMENT_API_SERVER \
        apply -n PROJECT -f - <<EOF
    apiVersion: virtualmachine.gdc.goog/v1
    kind: VirtualMachineDisk
    metadata:
      name: VM_BOOT_DISK_NAME
    spec:
      source:
        image:
          name: BOOT_DISK_IMAGE_NAME
      size: BOOT_DISK_SIZE
    ---
    apiVersion: virtualmachine.gdc.goog/v1
    kind: VirtualMachine
    metadata:
      name: VM_NAME
    spec:
      compute:
        virtualMachineType: MACHINE_TYPE
      disks:
        - virtualMachineDiskRef:
            name: VM_BOOT_DISK_NAME
          boot: true
          autoDelete: BOOT_DISK_AUTO_DELETE
    EOF
    

    Remplacez les éléments suivants :

    VariableDéfinition
    MANAGEMENT_API_SERVER Fichier kubeconfig du serveur de l'API Management.
    PROJECT Projet GDC permettant de créer la VM.
    VM_NAME Nom de la nouvelle VM. Le nom ne doit contenir que des caractères alphanumériques et des tirets, et ne doit pas dépasser 53 caractères.
    VM_BOOT_DISK_NAME Nom du nouveau disque de démarrage de la VM.
    BOOT_DISK_IMAGE_NAME Nom de l'image à utiliser pour le disque de démarrage de la nouvelle VM.
    BOOT_DISK_SIZE Taille du disque de démarrage, par exemple 20Gi.
    Cette valeur doit toujours être supérieure ou égale à la valeur minimumDiskSize de l'image de disque de démarrage.
    BOOT_DISK_AUTO_DELETE true ou false, indiquant si le disque de démarrage est automatiquement supprimé lorsque l'instance de VM est supprimée.
    MACHINE_TYPE Type de machine prédéfini pour la nouvelle VM. Pour sélectionner un type de machine disponible, exécutez la commande suivante :
    kubectl --kubeconfig MANAGEMENT_API_SERVER get virtualmachinetype.virtualmachine.gdc.goog --namespace vm-system
  3. Vérifiez que la VM est créée et attendez qu'elle soit à l'état Running. L'état Running ne signifie pas que l'OS est entièrement prêt et accessible.

    kubectl --kubeconfig MANAGEMENT_API_SERVER \
    get virtualmachine.virtualmachine.gdc.goog VM_NAME -n PROJECT
    

    Remplacez VM_NAME et PROJECT par le nom et le projet de la VM.

Créer une instance de VM avec des disques non amorçables supplémentaires

Vous pouvez créer des disques non amorçables lorsque vous créez une VM. Chaque disque supplémentaire peut spécifier ou non une source d'image. Ce dernier cas permet de créer un disque vide.

gdcloud

  1. Créez un disque à partir d'une image :

    gdcloud compute disks create NON_BOOT_DISK_FROM_IMAGE \
        --size=NON_BOOT_DISK_SIZE \
        --image=NON_BOOT_DISK_IMAGE_NAME \
        --image-project=NON_BOOT_DISK_IMAGE_NAMESPACE
    
  2. Créez un disque à partir d'une image vide :

    gdcloud compute disks create NON_BOOT_BLANK_DISK \
        --size=NON_BOOT_BLANK_DISK_SIZE \
    
  3. Créez une instance avec les disques de l'étape précédente :

    gdcloud compute instances create VM_NAME \
        --machine-type=MACHINE_TYPE \
        --image=BOOT_DISK_IMAGE_NAME --image-project=vm-system \
        --boot-disk-size=BOOT_DISK_SIZE \
        --no-boot-disk-auto-delete=NO_BOOT_DISK_AUTO_DELETE \
        --disk=name=NON_BOOT_DISK_FROM_IMAGE \
        --disk=name=NON_BOOT_BLANK_DISK
    

    Remplacez les éléments suivants :

    VariableDéfinition
    VM_NAME Nom de la nouvelle VM. Le nom ne doit contenir que des caractères alphanumériques et des tirets, et ne doit pas dépasser 53 caractères.
    BOOT_DISK_IMAGE_NAME Nom de l'image à utiliser pour le disque de démarrage de la nouvelle VM.
    BOOT_DISK_IMAGE_NAMESPACE Espace de noms de l'image à utiliser pour le nouveau disque de démarrage de la VM. Utilisez `vm-system` pour une image fournie par GDC ou laissez le champ vide pour une image personnalisée.
    BOOT_DISK_SIZE Taille du disque de démarrage, par exemple 20GB.
    Cette valeur doit toujours être supérieure ou égale à la valeur minimumDiskSize de l'image de disque de démarrage.
    NO_BOOT_DISK_AUTO_DELETE true ou false, indiquant l'inverse de la suppression automatique du disque de démarrage lorsque l'instance de VM est supprimée.
    MACHINE_TYPE Type de machine prédéfini pour la nouvelle VM. Pour sélectionner un type de machine disponible, exécutez la commande suivante :
    gdcloud compute machine-types list

    Pour les disques supplémentaires, remplacez les éléments suivants :

    • NON_BOOT_DISK_FROM_IMAGE, NON_BOOT_BLANK_DISK : nom du disque supplémentaire.
    • NON_BOOT_DISK_SIZE, NON_BOOT_BLANK_DISK_SIZE : taille des disques supplémentaires, par exemple 20GB.
    • NON_BOOT_DISK_IMAGE_NAME : nom de l'image à utiliser comme disque non amorçable.
    • NON_BOOT_DISK_IMAGE_NAMESPACE : espace de noms de l'image à utiliser comme disque non amorçable. Utilisez vm-system pour une image fournie par GDC ou laissez le champ vide pour une image personnalisée.

API

  1. Créez une VM avec un disque non amorçable :

    kubectl --kubeconfig MANAGEMENT_API_SERVER \
        apply -n PROJECT -f - <<EOF
    apiVersion: virtualmachine.gdc.goog/v1
    kind: VirtualMachineDisk
    metadata:
      name: NON_BOOT_DISK_FROM_IMAGE
    spec:
      source:
        image:
          name: NON_BOOT_DISK_IMAGE_NAME
          namespace: NON_BOOT_DISK_IMAGE_NAMESPACE
      size: NON_BOOT_DISK_SIZE
    ---
    apiVersion: virtualmachine.gdc.goog/v1
    kind: VirtualMachineDisk
    metadata:
      name: NON_BOOT_BLANK_DISK
    spec:
      size: NON_BOOT_BLANK_DISK_SIZE
    ---
    apiVersion: virtualmachine.gdc.goog/v1
    kind: VirtualMachineDisk
    metadata:
      name: VM_BOOT_DISK_NAME
    spec:
      source:
        image:
          name: BOOT_DISK_IMAGE_NAME
          namespace: BOOT_DISK_IMAGE_NAMESPACE
      size: BOOT_DISK_SIZE
    ---
    apiVersion: virtualmachine.gdc.goog/v1
    kind: VirtualMachine
    metadata:
      name: VM_NAME
    spec:
      compute:
        virtualMachineType: MACHINE_TYPE
      disks:
        - virtualMachineDiskRef:
            name: VM_BOOT_DISK_NAME
          boot: true
          autoDelete: BOOT_DISK_AUTO_DELETE
        - virtualMachineDiskRef:
            name: NON_BOOT_DISK_FROM_IMAGE
        - virtualMachineDiskRef:
            name: NON_BOOT_BLANK_DISK
    EOF
    

    Remplacez les éléments suivants :

    VariableDéfinition
    MANAGEMENT_API_SERVER Fichier kubeconfig du serveur de l'API Management.
    PROJECT Projet GDC à créer dans la VM.
    VM_NAME Nom de la nouvelle VM. Le nom ne doit contenir que des caractères alphanumériques et des tirets, et ne doit pas dépasser 53 caractères.
    VM_BOOT_DISK_NAME Nom du nouveau disque de démarrage de la VM.
    BOOT_DISK_IMAGE_NAME Nom de l'image à utiliser pour le disque de démarrage de la nouvelle VM.
    BOOT_DISK_IMAGE_NAMESPACE Espace de noms de l'image à utiliser pour le nouveau disque de démarrage de la VM. Utilisez l'espace de noms vm-system pour une image fournie par GDC ou laissez le champ vide pour une image personnalisée.
    BOOT_DISK_SIZE Taille du disque de démarrage, par exemple 20Gi.
    Cette valeur doit toujours être supérieure ou égale à la valeur minimumDiskSize de l'image de disque de démarrage.
    BOOT_DISK_AUTO_DELETE true ou false, indiquant si le disque de démarrage est automatiquement supprimé lorsque l'instance de VM est supprimée.
    MACHINE_TYPE Type de machine prédéfini pour la nouvelle VM. Pour sélectionner un type de machine disponible, exécutez la commande suivante :
    kubectl --kubeconfig MANAGEMENT_API_SERVER get virtualmachinetype.virtualmachine.gdc.goog --namespace vm-system

    Pour les disques supplémentaires, remplacez les éléments suivants :

    • NON_BOOT_DISK_FROM_IMAGE, NON_BOOT_BLANK_DISK : nom du disque supplémentaire.
    • NON_BOOT_DISK_SIZE, NON_BOOT_BLANK_DISK_SIZE : taille des disques supplémentaires, par exemple 20Gi.
    • NON_BOOT_DISK_IMAGE_NAME : nom de l'image que vous souhaitez utiliser comme disque non amorçable.
    • NON_BOOT_DISK_IMAGE_NAMESPACE : espace de noms de l'image que vous souhaitez utiliser comme disque non amorçable. Utilisez l'espace de noms vm-system pour une image fournie par GDC ou laissez le champ vide pour une image personnalisée.

    Formatez et installez les disques avant de les utiliser.

Créer une VM à partir d'un instantané ou d'une sauvegarde

Vous pouvez créer une VM à partir d'un instantané comme suit :

  • Restaurer un disque de démarrage de VM : si vous avez sauvegardé le disque de démarrage d'une VM avec un instantané, utilisez cet instantané pour créer une VM. Consultez Restaurer un instantané.
    • Restaurer un disque non amorçable : si vous avez sauvegardé un disque non amorçable avec un instantané, vous pouvez également restaurer l'instantané sur un nouveau disque non amorçable lorsque vous créez une VM, en suivant les mêmes instructions.

Pour créer plusieurs VM avec le même disque de démarrage, procédez comme suit :

  1. Créez une image personnalisée.
  2. Créez des VM à partir de cette image sans utiliser d'instantané.

Créer une VM sans utiliser de type de machine

Distributed Cloud propose des types de machines prédéfinis que vous pouvez utiliser lorsque vous créez une instance de VM. Ces types ont des quantités prédéfinies de processeurs virtuels et de mémoire.

Si les VM prédéfinies ne répondent pas à vos besoins, créez une instance de VM avec des paramètres matériels virtualisés personnalisés.

Les VM personnalisées sont idéales dans les scénarios suivants :

  • Charges de travail qui ne conviennent pas aux types de VM prédéfinis.
  • Charges de travail qui nécessitent davantage de puissance de traitement ou de mémoire, sans pour autant nécessiter toutes les mises à niveau fournies par le type de machine de niveau supérieur.

gdcloud

  1. Créez une VM avec un type de machine que vous définissez :

    gdcloud compute instances create VM_NAME \
        --custom-cpu=NUM_VCPU \
        --custom-memory=MEMORY
        --image=BOOT_DISK_IMAGE_NAME --image-project=vm-system \
        --boot-disk-size=BOOT_DISK_SIZE \
        --no-boot-disk-auto-delete=NO_BOOT_DISK_AUTO_DELETE
    

    Remplacez les éléments suivants :

    VariableDéfinition
    VM_NAME Nom de la nouvelle VM. Le nom ne doit contenir que des caractères alphanumériques et des tirets, et ne doit pas dépasser 53 caractères.
    BOOT_DISK_IMAGE_NAME Nom de l'image à utiliser pour le disque de démarrage de la nouvelle VM.
    BOOT_DISK_SIZE Taille du disque de démarrage, par exemple 20GB.
    Cette valeur doit toujours être supérieure ou égale à la valeur minimumDiskSize de l'image de disque de démarrage.
    NO_BOOT_DISK_AUTO_DELETE true ou false, indiquant l'inverse de la suppression automatique du disque de démarrage lorsque l'instance de VM est supprimée.
    NUM_VCPU Nombre de vCPU. Le nombre maximal de processeurs virtuels acceptés est de 192.
    MEMORY Taille de la mémoire, par exemple 8G. La taille maximale de la mémoire est d'un téraoctet (To).

API

  1. Créez une VM avec un type de machine que vous définissez :

    kubectl --kubeconfig MANAGEMENT_API_SERVER \
        apply -n PROJECT -f - <<EOF
    apiVersion: virtualmachine.gdc.goog/v1
    kind: VirtualMachineDisk
    metadata:
      name: VM_BOOT_DISK_NAME
    spec:
      source:
        image:
          name: BOOT_DISK_IMAGE_NAME
          namespace: vm-system
      size: BOOT_DISK_SIZE
    ---
    apiVersion: virtualmachine.gdc.goog/v1
    kind: VirtualMachine
    metadata:
      name: VM_NAME
    spec:
      compute:
        vcpus: NUM_VCPU
        memory: MEMORY
      disks:
        - virtualMachineDiskRef:
            name: VM_BOOT_DISK_NAME
          boot: true
          autoDelete: BOOT_DISK_AUTO_DELETE
    EOF
    

    Remplacez les éléments suivants :

    VariableDéfinition
    MANAGEMENT_API_SERVER Fichier kubeconfig du serveur de l'API Management.
    PROJECT Projet Distributed Cloud dans lequel créer la VM.
    VM_NAME Nom de la nouvelle VM. Le nom ne doit contenir que des caractères alphanumériques et des tirets, et ne doit pas dépasser 53 caractères.
    VM_BOOT_DISK_NAME Nom du nouveau disque de démarrage de la VM.
    BOOT_DISK_IMAGE_NAME Nom de l'image à utiliser pour le disque de démarrage de la nouvelle VM.
    BOOT_DISK_SIZE Taille du disque de démarrage, par exemple 20Gi.
    Cette valeur doit toujours être supérieure ou égale à la valeur minimumDiskSize de l'image de disque de démarrage.
    BOOT_DISK_AUTO_DELETE true ou false, indiquant si le disque de démarrage est automatiquement supprimé lorsque l'instance de VM est supprimée.
    NUM_VCPU Nombre de vCPU. Le nombre maximal de processeurs virtuels acceptés est de 192.
    MEMORY Taille de la mémoire, par exemple 8G. La taille maximale de la mémoire est de 1 To.

Créer une instance de VM avec une adresse IP et un sous-réseau spécifiques

Par défaut, vous pouvez créer une VM Distributed Cloud sans spécification de réseau. Ce type de VM est associé au cloud privé virtuel (VPC) par défaut et attribue dynamiquement une adresse IP à partir du sous-réseau par défaut. Pour créer une VM avec les configurations par défaut, consultez Créer une VM avec une image fournie par GDC.

Si vous ne souhaitez pas utiliser la configuration d'adresse IP par défaut pour votre VM Distributed Cloud, vous pouvez créer une VM avec une adresse IP dynamique ou statique :

  • Adresse IP dynamique à partir d'un sous-réseau personnalisé : vous créez un sous-réseau avec un CIDR spécifique, puis vous créez une VM avec une adresse IP attribuée de manière dynamique à partir de ce CIDR.

  • Adresse IP statique d'un sous-réseau personnalisé : vous créez un sous-réseau avec un CIDR spécifique, puis vous créez une VM avec une adresse IP statique à partir de ce CIDR.

Cette section vous explique comment créer une VM avec une adresse attribuée de manière dynamique ou une adresse IP statique.

Créer une VM avec une adresse IP attribuée de manière dynamique à partir d'un sous-réseau personnalisé

Créez une VM avec une adresse IP attribuée de manière dynamique à partir d'un CIDR spécifique :

   kubectl --kubeconfig MANAGEMENT_API_SERVER \
       apply -n PROJECT -f - <<EOF
   apiVersion: virtualmachine.gdc.goog/v1
   kind: VirtualMachineDisk
   metadata:
     name: VM_BOOT_DISK_NAME
   spec:
     source:
       image:
         name: BOOT_DISK_IMAGE_NAME
         namespace: vm-system
     size: BOOT_DISK_SIZE
   ---
   apiVersion: virtualmachine.gdc.goog/v1
   kind: VirtualMachine
   metadata:
     name: VM_NAME
   spec:
     compute:
       virtualMachineType: MACHINE_TYPE
     disks:
       - virtualMachineDiskRef:
           name: VM_BOOT_DISK_NAME
         boot: true
         autoDelete: BOOT_DISK_AUTO_DELETE
     network:
       interfaces:
       - subnet: SUBNET_NAME
   EOF

Remplacez les variables suivantes :

VariableDéfinition
MANAGEMENT_API_SERVER Fichier kubeconfig du serveur de l'API Management.
PROJECT Projet Distributed Cloud dans lequel créer la VM.
VM_NAME Nom de la nouvelle VM. Le nom ne doit contenir que des caractères alphanumériques et des tirets, et ne doit pas dépasser 53 caractères.
VM_BOOT_DISK_NAME Nom du nouveau disque de démarrage de la VM.
BOOT_DISK_IMAGE_NAME Nom de l'image à utiliser pour le disque de démarrage de la nouvelle VM.
BOOT_DISK_SIZE Taille du disque de démarrage, par exemple 20Gi.
Cette valeur doit toujours être supérieure ou égale à la minimumDiskSize de l'image de disque de démarrage.
BOOT_DISK_AUTO_DELETE true ou false, indiquant si le disque de démarrage est automatiquement supprimé lorsque l'instance de VM est supprimée.
MACHINE_TYPE Type de machine prédéfini pour la nouvelle VM. Sélectionnez un type de machine disponible :
kubectl --kubeconfig MANAGEMENT_API_SERVER get virtualmachinetype.virtualmachine.gdc.goog --namespace vm-system
SUBNET_NAME Nom du sous-réseau personnalisé.

Créer une VM avec une adresse IP statique à partir d'un sous-réseau

Créez une VM avec une adresse IP statique à partir d'un sous-réseau personnalisé :

   kubectl --kubeconfig MANAGEMENT_API_SERVER \
       apply -n PROJECT -f - <<EOF
   apiVersion: virtualmachine.gdc.goog/v1
   kind: VirtualMachineDisk
   metadata:
     name: VM_BOOT_DISK_NAME
   spec:
     source:
       image:
         name: BOOT_DISK_IMAGE_NAME
         namespace: vm-system
     size: BOOT_DISK_SIZE
   ---
   apiVersion: virtualmachine.gdc.goog/v1
   kind: VirtualMachine
   metadata:
     name: VM_NAME
   spec:
     compute:
       virtualMachineType: MACHINE_TYPE
     disks:
       - virtualMachineDiskRef:
           name: VM_BOOT_DISK_NAME
         boot: true
         autoDelete: BOOT_DISK_AUTO_DELETE
     network:
       interfaces:
       - subnet: SUBNET_NAME
         ipAddresses:
         - address: IP_ADDRESS
   EOF

Remplacez les variables suivantes :

VariableDéfinition
MANAGEMENT_API_SERVER Fichier kubeconfig du serveur de l'API Management.
PROJECT Projet Distributed Cloud dans lequel créer la VM.
VM_NAME Nom de la nouvelle VM. Le nom ne doit contenir que des caractères alphanumériques et des tirets, et ne pas dépasser 53 caractères.
VM_BOOT_DISK_NAME Nom du nouveau disque de démarrage de la VM.
BOOT_DISK_IMAGE_NAME Nom de l'image à utiliser pour le disque de démarrage de la nouvelle VM.
BOOT_DISK_SIZE Taille du disque de démarrage, par exemple 20Gi.
Cette valeur doit toujours être supérieure ou égale à la minimumDiskSize de l'image de disque de démarrage.
BOOT_DISK_AUTO_DELETE true ou false, indiquant si le disque de démarrage est automatiquement supprimé lorsque l'instance de VM est supprimée.
MACHINE_TYPE Type de machine prédéfini pour la nouvelle VM. Pour sélectionner un type de machine disponible, exécutez la commande suivante :
kubectl --kubeconfig MANAGEMENT_API_SERVER get virtualmachinetype.virtualmachine.gdc.goog --namespace vm-system
SUBNET_NAME Nom du sous-réseau personnalisé.
IP_ADDRESS Adresse IP. Elle doit être comprise dans la plage de sous-réseau choisie. Vous ne pouvez spécifier qu'une seule adresse IP dans le champ ipAddresses.