Si vous disposez de disques virtuels dans votre environnement sur site avec les logiciels et les configurations dont vous avez besoin (parfois appelés disques de référence ou images de référence), vous pouvez gagner du temps en les important dans l'appliance GDC isolée et en utilisant l'image obtenue pour créer des machines virtuelles. L'outil d'importation est compatible avec les formats d'image RAW et QCOW pour Linux, et ISO pour Windows.
Avant de commencer
Avant de continuer, assurez-vous de disposer des éléments suivants :
- La gdcloud CLI est téléchargée, installée et configurée. Toutes les commandes CLI pour GDC utilisent la CLI
gdcloudoukubectlet nécessitent un environnement Linux.
Accès au serveur de l'API Management. Suivez les étapes de la CLI décrites dans Se connecter pour vous connecter au serveur de l'API Management.
Demander des autorisations et un accès
Pour effectuer les tâches listées sur cette page, vous devez disposer des rôles "Administrateur de machine virtuelle du projet" et "Administrateur d'image de machine virtuelle du projet". Suivez les étapes pour valider ou demander à votre administrateur IAM de projet de vous attribuer les rôles Administrateur de machine virtuelle de projet (project-vm-admin) et Administrateur d'image de machine virtuelle de projet (project-vm-image-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 à l'administrateur IAM de votre projet de vous attribuer les rôles listés dans le paragraphe précédent et le rôle Lecteur du projet (project-viewer).
Systèmes d'exploitation compatibles
Cette section décrit les systèmes d'exploitation compatibles avec les VM GDC.
Compatibilité avec l'OS Linux
Vous ne pouvez importer des images Linux que depuis des disques amorçables. Pour démarrer vos disques virtuels dans GDC, ils doivent exécuter l'un des systèmes d'exploitation compatibles :
- Ubuntu 20.04
- Ubuntu 22.04
- RHEL 8
Compatibilité avec l'OS Windows
GDC est également compatible avec les systèmes d'exploitation Windows 10 et Windows Server 2019 Datacenter Edition.
Vous pouvez importer des images Windows à partir d'un support d'installation ISO. GDC installe Windows et crée une image amorçable à partir du disque obtenu.
Pour importer une image, l'ISO ne doit pas demander de saisie lors du démarrage avec UEFI (Unified Extensible Firmware Interface). Pour créer un fichier ISO sans invite, commencez à partir d'un fichier ISO existant. Procédez comme suit :
Extrayez le contenu ISO à l'aide de l'outil de gestion d'archives 7Zip :
7z x windows-installation.iso -oiso-unpackCréez un fichier ISO à partir de votre fichier ISO extrait à l'aide de
mkisofs, en remplaçant le binaire EFI "no prompt" (sans invite) :mkisofs -b boot/etfsboot.com -no-emul-boot -c BOOT.CAT -iso-level 4 -J -l -D -N -joliet-long -relaxed-filenames -v -V "Custom" -udf -boot-info-table -eltorito-alt-boot -eltorito-boot efi/microsoft/boot/efisys_noprompt.bin -no-emul-boot -o ISO_NAME.iso -allow-limited-size iso-unpackRemplacez ISO_NAME par le nom de l'ISO sans invite. Exemple :
noprompt-install
Importer des disques virtuels
Vous pouvez importer vos disques virtuels à l'aide de la CLI gdcloud ou de l'API Virtual Machine Manager.
Pour obtenir les autorisations nécessaires pour importer des images, demandez à votre administrateur IAM de l'organisation de vous attribuer le rôle Administrateur d'images VirtualMachine du projet (project-vm-image-admin) pour votre projet.
gdcloud
Utilisez la commande gdcloud compute images import pour créer une image amorçable.
La commande import garantit que le disque dispose des packages requis, y compris l'environnement invité, qui est nécessaire pour configurer les identifiants permettant de se connecter à l'instance à l'aide de Secure Shell (SSH) sur Linux et du protocole RDP (Remote Desktop Protocol) sur Windows.
Sous Linux, la commande installe également les packages pour le protocole NTP (Network Time Protocol) et cloud-init afin que l'instance s'exécute correctement dans GDC.
Vous pouvez importer des fichiers de disque virtuel directement depuis votre poste de travail. L'outil d'importation importe automatiquement le fichier dans un bucket de stockage d'objets de votre projet.
gdcloud compute images import IMAGE_NAME \
--source-file=SOURCE_FILE \
--os=IMAGE_OS \
--timeout=TIMEOUT
Remplacez les variables suivantes :
- IMAGE_NAME : nom de votre image de destination. Le nom ne doit pas comporter plus de 35 caractères.
- SOURCE_FILE : votre fichier de disque virtuel. Ce fichier est un fichier local sur votre poste de travail. Vous pouvez fournir un chemin d'accès absolu ou relatif.
- IMAGE_OS : OS du disque à importer. Vous devez saisir le système d'exploitation sous la forme
ubuntu-2004ouubuntu-2204.rhel-8,windows-10ouwindows-2019. - TIMEOUT : durée maximale d'une importation avant qu'elle n'échoue avec le message "TIMEOUT". Par exemple, si vous spécifiez
2h, le processus échoue au bout de deux heures. Le délai avant expiration par défaut est de1h.
L'opération d'importation peut prendre un certain temps en fonction de la taille de votre disque virtuel et de la vitesse de votre connexion réseau. L'opération d'importation peut durer plusieurs dizaines de minutes en fonction de la taille du disque.
L'exemple suivant importe un disque virtuel nommé ubuntu_server.img stocké dans le répertoire d'accueil de votre poste de travail :
gdcloud compute images import imported-image \
--source-file=~/ubuntu_server.img \
--os=ubuntu-2004
API
Avant de lancer le processus d'importation avec l'API, vous devez importer votre disque virtuel dans un bucket de stockage d'objets nommé vm-images-bucket. Pour créer un bucket de stockage d'objets, consultez Créer des buckets de stockage pour les projets.
Pour importer un disque virtuel via l'API, procédez comme suit :
Créez un objet
VirtualMachineImageImportsur le serveur de l'API Management pour démarrer le processus d'importation d'images :kubectl --kubeconfig MANAGEMENT_API_SERVER_KUBECONFIG \ apply -n PROJECT_ID -f - <<EOF apiVersion: virtualmachine.gdc.goog/v1 kind: VirtualMachineImageImport metadata: name: IMAGE_NAME namespace: PROJECT_ID spec: source: objectStorage: bucketRef: name: vm-images-bucket objectName: SOURCE_FILE imageMetadata: name: IMAGE_NAME operatingSystem: OPERATING_SYSTEM minimumDiskSize: DISK_SIZE EOFRemplacez les variables suivantes :
Variable Description IMAGE_NAME Nom de l'image à importer. Le nom ne doit pas dépasser 35 caractères. PROJECT_ID ID du projet dans lequel vous souhaitez importer l'image. SOURCE_FILE Nom du fichier source contenant l'importation du disque virtuel dans le stockage d'objets. Cette valeur correspond à la section du chemin d'accès au stockage d'objets après vm-images-bucket/.OPERATING_SYSTEM OS sur le disque à importer. Cette valeur doit être ubuntu-2004,ubuntu-2204,rhel-8,windows-10ouwindows-2019.DISK_SIZE Taille minimale requise pour créer un disque avec cette image. Nous vous recommandons d'utiliser une marge d'au moins 20 % en plus de la taille du système de fichiers de l'image d'origine. Par exemple, utilisez au moins 12 Gio pour un disque virtuel dont la taille du système de fichiers d'origine est de 10 Gio. Surveillez la progression de l'importation en interrogeant l'état de l'objet
VirtualMachineImageImport:kubectl --kubeconfig MANAGEMENT_API_SERVER_KUBECONFIG \ get virtualmachineimageimport --namespace PROJECT_ID \ IMAGE_NAME -o jsonpath='{.status}'
Effectuer un nettoyage des ressources
Le processus d'importation consiste à importer votre fichier de disque virtuel dans le stockage d'objets.
Si vous utilisez la CLI gdcloud, l'objet est nettoyé à la fin de la commande, qu'elle ait réussi ou non. Si la commande est interrompue ou si l'importation d'image est effectuée avec l'API, le fichier de disque virtuel peut rester dans le bucket de stockage d'objets nommé vm-images-bucket jusqu'à ce que vous le supprimiez manuellement.
Étapes suivantes
Créez une instance de VM qui utilise votre image sur la page Créer et démarrer une VM.