Créer un disque de démarrage personnalisé

Lorsque vous créez une instance de machine virtuelle (VM), vous devez également créer un disque de démarrage pour cette VM. Vous pouvez utiliser une image publique ou personnalisée. GDC crée automatiquement un disque persistant de démarrage lorsque vous créez une instance de VM. Si vous avez besoin de disques de stockage de données supplémentaires pour vos instances, ajoutez un disque persistant à votre VM.

Suivez les procédures décrites sur cette page pour créer des disques de démarrage que vous pourrez utiliser ultérieurement pour créer des 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 l'appliance GDC isolée 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. Localisez le nom du serveur de l'API Management ou demandez-le à votre administrateur de plate-forme.

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

  3. Utilisez le chemin d'accès pour remplacer MANAGEMENT_API_SERVER{"</var>"}} dans ces instructions.

Demander des autorisations et un accès

Pour effectuer les tâches listées sur cette page, vous devez avoir accès aux disques de VM. Suivez les étapes pour valider ou demandez à votre administrateur IAM de projet de vous attribuer le 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 un disque de démarrage à partir d'une image

Vous pouvez créer un disque persistant de démarrage autonome indépendamment du processus de création d'instance et l'associer ultérieurement à une instance. Cette section explique comment créer un disque de démarrage à partir d'une image d'OS fournie par GDC ou d'une image d'OS personnalisée.

Créer un disque de démarrage à partir d'une image fournie par GDC

Avant de créer un disque de démarrage à l'aide d'une image fournie par GDC, consultez la liste des images disponibles. Créez ensuite un disque de démarrage avec l'image fournie.

gdcloud

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

    gdcloud compute images list
    

    Cette commande inclut à la fois les images personnalisées et celles fournies par l'appliance GDC isolée. Choisissez-en un dans l'espace de noms vm-system.

  2. Sélectionnez une image fournie par l'appliance GDC isolée pour créer le disque de VM :

    gdcloud compute disks create BOOT_DISK_NAME \
        --project=PROJECT \
        --size=DISK_SIZE \
        --image=IMAGE_NAME \
        --image-project=vm-system
    

    Remplacez les variables en utilisant les définitions suivantes :

    VariableDéfinition
    BOOT_DISK_NAME Nom du disque de démarrage.
    PROJECT Projet GDC dans lequel créer le disque de démarrage.
    DISK_SIZE La taille du disque de démarrage doit être au moins égale à minimumDiskSize de l'image.
    IMAGE_NAME Nom de l'image.

kubectl

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

    kubectl --kubeconfig MANAGEMENT_API_SERVER \
        get virtualmachineimages.virtualmachine.gdc.goog --namespace vm-system
    
  2. Obtenez le minimumDiskSize d'une image spécifique fournie par GDC. La taille du disque de démarrage personnalisé créé doit être au moins égale à minimumDiskSize :

    kubectl --kubeconfig MANAGEMENT_API_SERVER \
      get virtualmachineimages.virtualmachine.gdc.goog --namespace vm-system \
      IMAGE_NAME -ojsonpath='{.spec.minimumDiskSize}'
    
  3. Créez un objet VirtualMachineDisk :

    kubectl --kubeconfig MANAGEMENT_API_SERVER apply -n PROJECT -f - <<EOF
    apiVersion: virtualmachine.gdc.goog/v1
    kind: VirtualMachineDisk
    metadata:
      name: BOOT_DISK_NAME
    spec:
      source:
        image:
          name: IMAGE_NAME
          namespace: vm-system
      size: DISK_SIZE
    EOF
    

    Remplacez les variables en utilisant les définitions suivantes :

    VariableDéfinition
    MANAGEMENT_API_SERVER Fichier kubeconfig du serveur de l'API Management.
    IMAGE_NAME Nom de l'image.
    PROJECT Projet GDC dans lequel créer le disque de démarrage.
    BOOT_DISK_NAME Nom du disque de démarrage.
    DISK_SIZE La taille du disque de démarrage doit être au moins égale à minimumDiskSize de l'image.

Créer un disque de démarrage à partir d'une image personnalisée

Une image personnalisée appartient exclusivement à votre projet. Pour créer une VM avec une image de disque de démarrage personnalisée, vous devez en créer une si elle n'existe pas déjà dans votre projet.

Configurez les rôles IAM nécessaires pour accéder aux images personnalisées dans votre projet, si vous ne l'avez pas encore fait. Suivez ensuite ces instructions.

gdcloud

  1. Répertoriez toutes les images personnalisées et leur taille de disque minimale :

    gdcloud compute images list \
        --project=PROJECT \
    
  2. Sélectionnez une image personnalisée pour créer le disque de la VM :

    gdcloud compute disks create BOOT_DISK_NAME \
        --project=PROJECT \
        --size=DISK_SIZE \
        --image=IMAGE_NAME \
        --image-project=PROJECT
    

    Remplacez les variables en utilisant les définitions suivantes :

    VariableDéfinition
    BOOT_DISK_NAME Nom du disque de démarrage.
    PROJECT Projet GDC dans lequel créer le disque de démarrage.
    DISK_SIZE La taille du disque de démarrage doit être au moins égale à minimumDiskSize de l'image.
    IMAGE_NAME Nom de l'image.

kubectl

  1. Lister toutes les images personnalisées :

    kubectl --kubeconfig MANAGEMENT_API_SERVER \
        get virtualmachineimages.virtualmachine.gdc.goog --namespace PROJECT
    
  2. Obtenez le minimumDiskSize d'une image personnalisée spécifique. La taille du disque de démarrage personnalisé créé doit être au moins égale à minimumDiskSize :

    kubectl --kubeconfig MANAGEMENT_API_SERVER \
      get virtualmachineimages.virtualmachine.gdc.goog --namespace vm-system \
      IMAGE_NAME -ojsonpath='{.spec.minimumDiskSize}'
    
  3. Créez un objet VirtualMachineDisk :

    kubectl --kubeconfig MANAGEMENT_API_SERVER \
        apply --namespace PROJECT -f - <<EOF
    apiVersion: virtualmachine.gdc.goog/v1
    kind: VirtualMachineDisk
    metadata:
      name: BOOT_DISK_NAME
    spec:
      source:
        image:
          name: IMAGE_NAME
          namespace: PROJECT
      size: DISK_SIZE
    EOF
    

    Remplacez les variables en utilisant les définitions suivantes :

    VariableDéfinition
    MANAGEMENT_API_SERVER Fichier kubeconfig du serveur de l'API Management.
    IMAGE_NAME Nom de l'image choisie à partir de la commande list all custom images (lister toutes les images personnalisées).
    PROJECT Projet GDC dans lequel créer le disque de démarrage.
    BOOT_DISK_NAME Nom du disque de démarrage.
    DISK_SIZE La taille du disque de démarrage doit être au moins égale à minimumDiskSize de l'image.

Pour remplacer un disque de démarrage, consultez la page Remplacer un disque de démarrage.