Créer un disque de démarrage personnalisé

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 un disque de démarrage

Lorsque vous créez une instance de machine virtuelle (VM), vous devez également créer un disque de démarrage pour la VM. Vous pouvez utiliser une image publique ou personnalisée.

Lorsque vous créez une instance de VM, GDC crée automatiquement un disque persistant de démarrage. 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.

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 les images fournies par Distributed Cloud et les images personnalisées. Choisissez-en un dans l'espace de noms vm-system.

  2. Sélectionnez une image fournie par Distributed Cloud 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 personnalisée, vous devez d'abord créer une image personnalisée dans le même projet si vous n'en possédez pas.

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.

API

  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.