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. L'appliance 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 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 :
Localisez le nom du serveur de l'API Management ou demandez-le à votre administrateur de plate-forme.
Connectez-vous et générez le fichier kubeconfig pour le serveur d'API Management si vous n'en avez pas.
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 disposer du rôle Administrateur VirtualMachine du projet. 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 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.
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
Répertoriez toutes les images fournies par GDC :
kubectl --kubeconfig MANAGEMENT_API_SERVER \ get virtualmachineimage.virtualmachine.gdc.goog --namespace vm-system
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
aveckubeconfig
pour le serveur de l'API Management.BOOT_DISK_IMAGE_NAME
par le 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
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 :
Variable | Définition |
---|---|
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. |
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 20G .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
Sélectionnez une image fournie par l'appliance GDC isolée 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 :
Variable Définition MANAGEMENT_API_SERVER
Chemin d'accès kubeconfig
du serveur de l'API Management.PROJECT
Projet d'appliance GDC sous air gap 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 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 20G
.
Cette valeur doit toujours être supérieure ou égale à la valeurminimumDiskSize
de l'image de disque de démarrage.BOOT_DISK_AUTO_DELETE
true
oufalse
, 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
Vérifiez que la VM est créée et attendez qu'elle soit à l'état
Running
. L'étatRunning
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
etPROJECT
par le nom et le projet de la VM.VM_NAME
ne doit contenir que des caractères alphanumériques et des tirets.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 si vous n'en avez pas déjà une.
gdcloud
Lister toutes les images personnalisées :
gdcloud compute images list --no-standard-images=true
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 :
Variable Définition 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. 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 20G
.
Cette valeur doit toujours être supérieure ou égale à la valeurminimumDiskSize
de l'image de disque de démarrage.NO_BOOT_DISK_AUTO_DELETE
true
oufalse
, 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
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 :
Variable Définition MANAGEMENT_API_SERVER
Chemin d'accès 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. 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 variables en utilisant les définitions suivantes :
Variable Définition MANAGEMENT_API_SERVER
Fichier kubeconfig
du serveur de l'API Management.PROJECT
Projet d'appliance GDC sous air gap 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 20G
.
Cette valeur doit toujours être supérieure ou égale à la valeurminimumDiskSize
de l'image de disque de démarrage.BOOT_DISK_AUTO_DELETE
true
oufalse
, 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
Vérifiez que la VM est créée et attendez qu'elle soit à l'état
Running
. L'étatRunning
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
etPROJECT
par le nom et le projet de la VM.VM_NAME
ne doit contenir que des caractères alphanumériques et des tirets.
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
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
Créez un disque à partir d'une image vide :
gdcloud compute disks create NON_BOOT_BLANK_DISK \ --size=NON_BOOT_BLANK_DISK_SIZE \
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 :
Variable Dé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 20G
.
Cette valeur doit toujours être supérieure ou égale à la valeurminimumDiskSize
de l'image de disque de démarrage.NO_BOOT_DISK_AUTO_DELETE
true
oufalse
, 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 exemple20G
.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. Utilisezvm-system
pour une image fournie par GDC ou laissez le champ vide pour une image personnalisée.
API
- 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 :
Variable | Définition |
---|---|
MANAGEMENT_API_SERVER |
Chemin d'accès kubeconfig du serveur de l'API Management. |
PROJECT |
Projet GDC dans lequel vous souhaitez 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_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 20G .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 exemple20G
.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 nomsvm-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 :
- Créez une image personnalisée.
- Créez des VM à partir de cette image sans utiliser d'instantané.
Créer une VM sans utiliser de type de machine
L'appliance GDC isolée 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
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 :
Variable Dé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 20G
.
Cette valeur doit toujours être supérieure ou égale à la valeurminimumDiskSize
de l'image de disque de démarrage.NO_BOOT_DISK_AUTO_DELETE
true
oufalse
, 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 de 1 téraoctet (To).
API
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 :
Variable Définition MANAGEMENT_API_SERVER
Chemin d'accès kubeconfig
du serveur de l'API Management.PROJECT
Projet d'appliance GDC sous air gap 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 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 20G
.
Cette valeur doit toujours être supérieure ou égale à la valeurminimumDiskSize
de l'image de disque de démarrage.BOOT_DISK_AUTO_DELETE
true
oufalse
, 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.