Créer un disque de démarrage personnalisé

Ce document décrit les étapes à suivre pour créer des disques de démarrage personnalisés pour les machines virtuelles (VM) dans Google Distributed Cloud (GDC) avec isolation physique.

Lorsque vous créez une instance de VM, Distributed Cloud crée automatiquement un disque persistant de démarrage avec les configurations par défaut. Vous devez également créer un disque de démarrage pour la VM. Vous pouvez utiliser une image publique ou une image personnalisée.

Si vous avez besoin de disques de stockage de données supplémentaires pour vos instances, ajoutez un disque persistant à votre VM.

Ce document est destiné aux développeurs des groupes d'administrateurs de plate-forme ou d'opérateurs d'applications qui créent des disques de démarrage personnalisés pour les VM. Pour en savoir plus, consultez la documentation sur les audiences pour GDC sous air gap.

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 d'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 d'API Management pour remplacer MANAGEMENT_API_SERVER dans ces instructions.

Demander des rôles IAM

Contactez l'administrateur de projet IAM pour demander les rôles suivants sur votre projet :

  • Administrateur de projet de machine virtuelle (project-vm-admin) : créez, modifiez, listez et supprimez des VM standards et hautes performances dans l'espace de noms du projet.

  • project-viewer(Lecteur de projet) : permet d'afficher toutes les ressources de l'espace de noms du projet.

Tous les rôles de VM doivent être liés à l'espace de noms du projet dans lequel réside la VM. Suivez la procédure pour valider votre accès.

Créer un disque de démarrage

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 à la fois 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 à l'aide des 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 à la minimumDiskSize de l'image.
    IMAGE_NAME Nom de l'image.

kubectl

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

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

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

    kubectl --kubeconfig MANAGEMENT_API_SERVER \
      -n PROJECT \
      apply -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 à l'aide des définitions suivantes :

    VariableDéfinition
    MANAGEMENT_API_SERVER Fichier kubeconfig du serveur d'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 à la 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 avez pas déjà une.

Configurez les rôles IAM nécessaires pour accéder aux images personnalisées de 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 à l'aide des 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 à la minimumDiskSize de l'image.
    IMAGE_NAME Nom de l'image.

API

  1. Répertoriez toutes les images personnalisées :

    kubectl --kubeconfig MANAGEMENT_API_SERVER \
      -n PROJECT \
      get virtualmachineimages.virtualmachine.gdc.goog
    
  2. Obtenez l'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 \
      -n vm-system \
      get virtualmachineimages.virtualmachine.gdc.goog IMAGE_NAME \
      -ojsonpath='{.spec.minimumDiskSize}'
    
  3. Créez un objet VirtualMachineDisk :

    kubectl --kubeconfig MANAGEMENT_API_SERVER \
      -n PROJECT \
      apply -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 d'API Management.
    IMAGE_NAME Nom de l'image choisi à partir de la commande Répertorier 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 à la minimumDiskSize de l'image.

Étape suivante