Comment créer un droplet DigitalOcean à partir d’une image au format ISO Ubuntu

introduction

La fonctionnalité Custom Images de DigitalOcean vous permet de transférer vos images de disque virtuel depuis un environnement sur site ou une autre plate-forme cloud vers DigitalOcean et de les utiliser pour démarrer DigitalOcean. Gouttelettes.

Comme décrit dans la Custom Images documentation, les types d’images suivants sont pris en charge de manière native par l’outil de téléchargement d’images personnalisées:

ISO est un autre format d’image populaire que vous pouvez utiliser avec des images personnalisées. Les distributions ISO fournissent fréquemment des images ISO comme méthode pratique pour installer Linux. Malheureusement, l’outil de téléchargement ne prend actuellement pas en charge les images ISO, bien que le support soit prévu pour fin 2018.

Dans ce didacticiel, nous allons montrer comment utiliser l’outil de virtualisation gratuit et open-source VirtualBox pour créer une image VDI compatible DigitalOcean (Image de disque VirtualBox) à partir d’un fichier ISO 18.04 Ubuntu . Les étapes de ce guide peuvent être adaptées pour fonctionner avec les images ISO de votre distribution préférée.

Conditions préalables

Avant de commencer, vous devez disposer des éléments suivants:

  • Un ordinateur local ou un serveur distant (avec un accès à l’interface graphique) sur lequel vous allez installer et utiliser VirtualBox. Dans ce didacticiel, nous utiliserons une machine locale Mac OS X, mais vous pouvez utiliser n’importe quel système pris en charge par VirtualBox. Pour en savoir plus sur les systèmes pris en charge, consultez le VirtualBox Manual. Les options du menu de l’interface graphique doivent être similaires pour tous les systèmes d’exploitation, mais peuvent ne pas être identiques.

  • Un format ISO Ubuntu 18.04 Image du système d’exploitation du serveur. L’image + ubuntu-18.04.1-live-server-amd64.iso + remplit les deux conditions énumérées dans Images personnalisées https://www.digitalocean.com/docs/images/custom-images/overview/#image- exigences [Image Requirements]:

  • Votre image doit prendre en charge les systèmes de fichiers ext3 ou ext4.

  • Votre image doit avoir + cloud-init + 0.7.7, + cloudbase-init +, + coreos-cloudinit +, + iginition +, ou + bsd-cloudinit + (Ubuntu 18.04 Server est livré avec `+ cloud -init + `installé)

Si vous adaptez ces étapes à l’ISO d’une autre distribution et que votre image n’a pas été installée et configurée + cloud-init +, vous devez l’installer et la configurer manuellement après l’installation du système d’exploitation.

Une fois que vous avez ces conditions préalables à votre disposition, vous êtes prêt à commencer avec ce guide.

Étape 1 - Installation de VirtualBox et création d’une machine virtuelle

L’outil que nous allons utiliser pour convertir l’image au format ISO dans ce guide est VirtualBox, un virtualiseur gratuit et à code source ouvert pour le matériel x86. Par défaut, VirtualBox utilise une interface graphique que nous utiliserons pour créer l’image VDI dans ce guide.

Pour commencer, téléchargez et installez VirtualBox à partir de la page downloads. Suivez le lien approprié dans la section * Packages de plate-forme VirtualBox 5.2.20 * en fonction de votre système d’exploitation hôte. Dans ce guide, nous utiliserons un système OSX. Nous allons donc télécharger et installer VirtualBox à l’aide du fichier DMG fourni.

Une fois que vous avez installé VirtualBox, ouvrez l’application.

Vous devriez voir l’écran de bienvenue suivant:

image: https: //assets.digitalocean.com/articles/iso_custom_images/vbox_welcome.png [Écran de bienvenue de VirtualBox]

Cliquez sur * Nouveau * pour commencer à créer votre machine virtuelle Ubuntu.

La fenêtre suivante devrait apparaître, vous permettant de nommer votre machine virtuelle (VM) et de sélectionner son système d’exploitation:

image: https: //assets.digitalocean.com/articles/iso_custom_images/name_os.png [Nom de la fenêtre de la machine virtuelle]

Dans ce tutoriel, nous allons nommer notre VM + Ubuntu 18.04 +, mais n’hésitez pas à lui donner un nom plus descriptif.

Pour * Type *, sélectionnez * Linux *, et pour * Version *, sélectionnez * Ubuntu (64 bits) *. Ensuite, appuyez sur * Continuer *.

L’écran suivant doit apparaître, vous permettant de spécifier la quantité de mémoire à allouer à votre machine virtuelle:

image: https: //assets.digitalocean.com/articles/iso_custom_images/memory.png [Fenêtre Allocate Memory]

À moins que votre cas d’utilisation ne soit plus complexe, 1024 Mo devraient suffire à suffisamment de mémoire pour votre machine virtuelle. Si vous devez ajuster la taille de la mémoire, entrez la quantité de mémoire à allouer à la VM, puis appuyez sur * Continuer *.

Vous devriez voir l’écran suivant:

image: https: //assets.digitalocean.com/articles/iso_custom_images/hard_disk.png [Fenêtre Créer un disque dur]

Cette fenêtre vous permet de créer un disque dur virtuel pour votre machine virtuelle. Ce disque dur virtuel est l’image que vous téléchargerez ultérieurement dans DigitalOcean. Le système d’exploitation Ubuntu sera installé à partir de l’ISO que vous avez téléchargée sur ce disque dur virtuel. Assurez-vous que * Créer un disque dur virtuel maintenant * est sélectionné, puis appuyez sur * Créer *.

La fenêtre suivante * Type de fichier de disque dur * devrait apparaître, vous permettant de sélectionner le format que vous souhaitez utiliser pour votre image:

image: https: //assets.digitalocean.com/articles/iso_custom_images/hard_disk_type.png [Fenêtre Sélectionner le type de disque dur]

Les trois types sont pris en charge par DigitalOcean Custom Images. Par conséquent, à moins que vous n’ayez une préférence marquée, sélectionnez * VDI (Image du disque VirtualBox) *. Hit * Continuer *.

Vous devriez alors voir la fenêtre suivante:

image: https: //assets.digitalocean.com/articles/iso_custom_images/storage_option.png [Options du disque dur]

Cette fenêtre vous permet de choisir entre un fichier de disque dur * Alloué dynamiquement * ou * Taille fixe *. Nous allons utiliser l’option * allouée dynamiquement * par défaut et laisser le fichier grandir au fur et à mesure que nous installons le système d’exploitation Ubuntu et ses packages. Hit * Continuer *.

La fenêtre suivante vous permet de nommer votre fichier de disque dur (ainsi que de choisir le chemin dans lequel il sera enregistré) et de spécifier sa taille maximale:

image: https: //assets.digitalocean.com/articles/iso_custom_images/disk_file.png [Taille du disque dur]

Assurez-vous de disposer de suffisamment d’espace disque pour installer le système d’exploitation, ainsi que des packages supplémentaires dont vous pourriez avoir besoin. La valeur par défaut de 10 Go devrait convenir à la plupart des applications, mais si vous envisagez d’installer un grand nombre de packages ou de stocker beaucoup de données dans l’image, vous devez l’adapter à votre utilisation anticipée du disque.

Une fois que vous avez sélectionné la taille du disque dur virtuel, appuyez sur * Créer *.

À ce stade, vous revenez à l’écran d’accueil initial, où vous verrez la machine virtuelle que vous venez de créer:

image: https: //assets.digitalocean.com/articles/iso_custom_images/vm_start.png [Écran d’accueil de la VM]

Nous pouvons maintenant commencer à installer Ubuntu sur la machine virtuelle.

Étape 2 - Installer Ubuntu 18.04 sur la machine virtuelle

Dans cette étape, nous allons installer et configurer le système d’exploitation Ubuntu sur notre machine virtuelle.

Pour commencer, dans l’écran d’accueil de VirtualBox, sélectionnez votre machine virtuelle, puis cliquez sur le bouton * Démarrer * de la barre d’outils.

La fenêtre suivante de la machine virtuelle devrait vous inviter à sélectionner le fichier ISO à partir duquel vous démarrerez le système:

image: https: //assets.digitalocean.com/articles/iso_custom_images/vm_install.png [Sélectionner l’ISO]

Sélectionnez l’image ISO du serveur Ubuntu 18.04 que vous avez téléchargée et appuyez sur * Démarrer *.

Dans la VM, le programme d’installation Ubuntu commencera à démarrer à partir de l’ISO, et vous devriez être amené au menu suivant:

image: https: //assets.digitalocean.com/articles/iso_custom_images/ubuntu_language.png [Langue choisie par Ubuntu]

Choisissez votre langue préférée en utilisant les touches fléchées, et appuyez sur + ENTER pour continuer.

Vous devriez alors voir l’écran * Configuration du clavier * suivant:

image: https: //assets.digitalocean.com/articles/iso_custom_images/keyboard.png [Configuration du clavier Ubuntu]

Choisissez votre configuration de clavier préférée, sélectionnez * Fait *, et appuyez sur + ENTER +.

Ensuite, vous serez amené à l’écran de sélection d’installateur suivant:

image: https: //assets.digitalocean.com/articles/iso_custom_images/ubuntu_install.png [Sélection du programme d’installation Ubuntu]

Sélectionnez * Installer Ubuntu *, et appuyez sur + ENTER +.

L’écran suivant * Connexions réseau * devrait apparaître:

image: https: //assets.digitalocean.com/articles/iso_custom_images/network_connections.png [Connexions réseau Ubuntu]

Cet écran vous permet de configurer les interfaces réseau de votre serveur Ubuntu. Étant donné que nous effectuons l’installation sur une machine virtuelle, nous n’utilisons que l’option par défaut car l’interface configurée sera remplacée lors du lancement de l’image sur la plate-forme DigitalOcean.

Sélectionnez * Terminé * et appuyez sur + ENTER +.

Vous serez alors amené à l’écran suivant * Configurer le proxy *:

image: https: //assets.digitalocean.com/articles/iso_custom_images/configure_proxy.png [Ubuntu Configure Proxy]

Si vous avez besoin d’un proxy, entrez-le ici. Ensuite, sélectionnez * Fait *, et appuyez sur + ENTER +.

L’écran suivant vous permettra de choisir un miroir d’archive Ubuntu:

image: https: //assets.digitalocean.com/articles/iso_custom_images/ubuntu_mirror.png [Miroir de l’archive Ubuntu]

Sauf si vous avez besoin d’un miroir spécifique, la valeur par défaut devrait être correcte ici. Sélectionnez * Terminé * et appuyez sur + ENTER +.

Ensuite, vous serez invité à partitionner votre disque virtuel:

image: https: //assets.digitalocean.com/articles/iso_custom_images/partition.png [Disque de partition Ubuntu]

Sauf si vous souhaitez configurer Logical Volume Manager (LVM) ou partitionner manuellement le disque virtuel, sélectionnez * Utiliser un disque entier * pour utiliser l’intégralité du disque. disque virtuel attaché, et appuyez sur + ENTER +.

L’écran suivant vous permet de sélectionner le disque virtuel à partitionner:

image: https: //assets.digitalocean.com/articles/iso_custom_images/filesystem_setup.png [Configuration du système de fichiers Ubuntu]

Comme décrit dans le texte de l’invite, le programme d’installation créera une partition pour le chargeur de démarrage et utilisera l’espace disque virtuel restant pour créer une partition + ext4 + sur laquelle le système d’exploitation Ubuntu sera installé.

Sélectionnez le disque virtuel connecté et appuyez sur + ENTER +.

L’écran suivant affiche un résumé des options du programme d’installation du système de fichiers avant le partitionnement:

image: https: //assets.digitalocean.com/articles/iso_custom_images/filesystem_summary.png [Résumé du système de fichiers Ubuntu]

La partition + ext4 + sera montée sur + / +, et une seconde partition (1 Mo) sera créée pour le chargeur de démarrage GRUB. Une fois que vous avez vérifié et confirmé le schéma de partitionnement de votre disque virtuel, sélectionnez * Done * et appuyez sur + ENTER +.

Dans l’écran de confirmation qui apparaît, sélectionnez * Continuer * et appuyez sur + ENTER +.

L’écran suivant vous permettra de configurer le nom d’hôte du système, ainsi qu’un utilisateur Ubuntu:

image: https: //assets.digitalocean.com/articles/iso_custom_images/profile_setup.png [Ubuntu Créer un utilisateur]

Notez que lorsque vous remplissez cet écran, le programme d’installation continue à copier les fichiers sur le disque virtuel en arrière-plan.

Dans ce tutoriel, nous allons créer un utilisateur nommé * sammy * et appeler notre serveur * ubuntu *. Le nom du serveur sera probablement écrasé lorsque cette image sera exécutée sur la plate-forme DigitalOcean. N’hésitez donc pas à lui attribuer un nom temporaire.

Vous pouvez télécharger vos clés SSH dans DigitalOcean et les incorporer automatiquement dans des Droplets créés. Pour le moment, nous * importons pas d’identité SSH *. Pour savoir comment télécharger vos clés SSH sur DigitalOcean, consultez la Droplet Product Documentation.

Une fois que vous avez rempli tous les champs obligatoires, l’invite doit ressembler à ceci:

image: https: //assets.digitalocean.com/articles/iso_custom_images/profile_setup_complete.png [Profil Ubuntu terminé]

Sélectionnez * Terminé * et appuyez sur + ENTER +.

L’écran suivant vous invitera à sélectionner les captures courantes pour votre serveur Ubuntu. Les instantanés sont des ensembles de logiciels préemballés contenant une application, ses dépendances et sa configuration. Pour en savoir plus sur les instantanés, consultez la Snap Documentation.

image: https: //assets.digitalocean.com/articles/iso_custom_images/ubuntu_snaps.png [Ubuntu Select Snaps]

Dans ce guide, nous n’installez aucune capture, nous installerons manuellement les packages ultérieurement. Si vous souhaitez installer un accrochage, sélectionnez-le ou désélectionnez-le en utilisant + SPACE + et faites défiler jusqu’à * Terminé *. Ensuite, appuyez sur + ENTER.

Quelle que soit votre sélection dans l’écran instantané, vous serez alors amené à un écran de progression de l’installation et de résumé:

image: https: //assets.digitalocean.com/articles/iso_custom_images/install_progress.png [Progression de l’installation Ubuntu]

Une fois l’installation terminée, sélectionnez * Reboot Now * et appuyez sur + ENTER.

Le programme d’installation s’arrête et vous invite à retirer le support d’installation (dans ce cas, il s’agit de l’image ISO que nous avons sélectionnée précédemment). Dans la plupart des cas, l’ISO sera automatiquement détaché au redémarrage, vous pouvez donc appuyer simplement sur «+ ENTER +».

Pour vérifier, dans le menu de l’interface graphique de VirtualBox, accédez à * Devices *, puis * Optical Drives *. Si l’option * Supprimer le disque du lecteur virtuel * est disponible, cliquez dessus pour détacher l’ISO de la machine virtuelle. Ensuite, dans la fenêtre de la machine virtuelle, appuyez sur + ENTER.

Le système redémarre sur la machine virtuelle, cette fois à partir du disque virtuel sur lequel nous avons installé Ubuntu.

Etant donné que + cloud-init + est installé par défaut sur le serveur Ubuntu 18.04, lors du premier démarrage d’Ubuntu, + cloud-init + sera exécuté et configuré lui-même. Dans la fenêtre de la machine virtuelle, vous devriez voir certains éléments de journal + cloud-init + et avoir une invite à votre disposition. Appuyez sur + ENTER.

Vous pouvez ensuite vous connecter à votre serveur Ubuntu en utilisant l’utilisateur que vous avez créé dans le programme d’installation.

Entrez votre nom d’utilisateur et appuyez sur + ENTER +, puis entrez votre mot de passe et appuyez sur + ENTER +.

Vous devriez maintenant avoir accès à une invite de commande, indiquant que vous avez terminé avec succès l’installation d’Ubuntu 18.04 et que vous êtes maintenant connecté en tant qu’utilisateur que vous avez créé précédemment.

Dans l’étape suivante de ce guide, nous reconfigurerons + cloud-init + et nous le configurerons pour qu’il s’exécute lorsque l’image Ubuntu est lancée en tant que Droplet sur la plate-forme DigitalOcean.

Étape 3 - Configurez + cloud-init

Maintenant que Ubuntu 18.04 est installé sur un disque virtuel et que le système est opérationnel, nous devons reconfigurer + cloud-init + pour utiliser la source de données appropriée pour la plate-forme DigitalOcean. Une source de données + cloud-init + est une source de données de configuration pour + cloud-init + qui consiste généralement en données utilisateur (comme les scripts de shell) ou en métadonnées de serveur, telles que nom d’hôte, id-instance, etc. Pour en savoir plus sur les sources de données + cloud-init +, consultez les official + cloud-init + docs.

Par défaut, sous Ubuntu 18.04, + cloud-init + se configure lui-même pour utiliser la source de données + DataSourceNoCloud +. Cela posera des problèmes lors de l’exécution de l’image sur DigitalOcean. Nous devons donc reconfigurer + cloud-init + pour utiliser la source de données + ConfigDrive + et nous assurer que + cloud-init + sera réexécuté lorsque l’image sera lancée sur DigitalOcean.

Pour commencer, assurez-vous d’avoir démarré votre machine virtuelle Ubuntu 18.04 et d’être connecté en tant qu’utilisateur créé précédemment.

A partir de la ligne de commande, accédez au répertoire + / etc / cloud / cloud.cfg.d +:

cd /etc/cloud/cloud.cfg.d

Utilisez la commande + ls + pour lister les fichiers de configuration + cloud-init + présents dans le répertoire:

ls
Output05_logging.cfg  50-curtin-networking.cfg  90_dpkg.cfg  curtin-preserve-sources.cfg  README

Tout d’abord, supprimez le fichier + 50-curtin-networking.cfg +, qui configure les interfaces réseau de votre serveur Ubuntu. Lorsque l’image est lancée sur DigitalOcean, + cloud-init + sera exécuté et reconfigurera automatiquement ces interfaces. Si ce fichier n’est pas supprimé, les interfaces de DigitalOcean Droplet créées à partir de cette image Ubuntu auront des interfaces mal configurées et ne seront pas accessibles à partir d’Internet.

sudo rm 50-curtin-networking.cfg

Ensuite, nous allons lancer + dpkg-reconfigure cloud-init + pour supprimer la source de données + NoCloud +, en veillant à ce que + cloud-init + recherche et trouve la source de données + ConfigDrive + utilisée sur DigitalOcean:

sudo dpkg-reconfigure cloud-init

Vous devriez voir le menu graphique suivant:

image: https: //assets.digitalocean.com/articles/iso_custom_images/cloud_init.png [Menu dpkg du nuage]

La source de données + NoCloud + est initialement mise en évidence. Appuyez sur + SPACE pour le désélectionner, puis appuyez sur` + ENTER`.

Enfin, accédez à + ​​/ etc / netplan +:

cd /etc/netplan

Supprimez le fichier + 50-cloud-init.yaml + (celui-ci a été généré à partir du fichier réseau + cloud-init + que nous avions supprimé précédemment):

sudo rm 50-cloud-init.yaml

La dernière étape consiste à nettoyer la configuration de l’exécution initiale + cloud-init afin qu’elle soit réexécutée lorsque l’image est lancée sur DigitalOcean.

Pour ce faire, exécutez + cloud-init clean +:

sudo cloud-init clean

À ce stade, votre image est prête à être lancée sur la plate-forme DigitalOcean. Vous pouvez installer des packages et des logiciels supplémentaires dans votre image. Une fois que vous avez terminé, arrêtez votre machine virtuelle:

sudo shutdown -h now

Nous pouvons maintenant passer au téléchargement et au lancement de cette image personnalisée sur la plate-forme DigitalOcean.

Étape 4 - Télécharger une image personnalisée et créer un droplet

Maintenant que nous avons créé une image Ubuntu 18.04 VDI et que nous l’avons configurée pour l’utiliser sur DigitalOcean, nous pouvons la télécharger à l’aide de l’outil Custom Images upload. .

Sur macOS, l’image de disque virtuel Ubuntu que nous avons créée et configurée sera située par défaut sous + ~ / VirtualBox VMs //. Vdi +. Ce chemin peut varier légèrement en fonction du système d’exploitation que vous utilisez avec VirtualBox.

Avant de télécharger l’image, nous allons la compresser pour accélérer le transfert de fichier vers DigitalOcean.

Sur votre système d’exploitation hôte (pas à l’intérieur de la machine virtuelle), accédez au répertoire contenant votre fichier image VDI:

cd ~/VirtualBox\ VMs//

Maintenant, utilisez + gzip + pour compresser le fichier:

gzip <  > .gz

Dans cette commande, nous canalisons le fichier source + Ubuntu 18.04.vdi + dans + gzip +, en spécifiant comme sortie le fichier compressé + Ubuntu 18.04.gz +.

Une fois que + gzip + a fini de compresser votre fichier, téléchargez le fichier + .gz + sur DigitalOcean, en suivant les instructions du Custom Images Quickstart. .

Vous devriez maintenant pouvoir créer et utiliser des gouttelettes à partir de votre image de serveur Ubuntu 18.04 personnalisée.

Conclusion

Dans ce didacticiel, nous avons appris à créer une image VDI personnalisée à partir d’un ISO vanilla Ubuntu 18.04 à l’aide de l’outil de virtualisation VirtualBox. Nous avons ajusté + cloud-init + afin qu’il puisse correctement configurer la mise en réseau de Droplet sur DigitalOcean, puis avons compressé et téléchargé l’image à l’aide de l’outil de téléchargement d’Images personnalisées.

Vous pouvez ajuster les étapes de ce didacticiel pour utiliser vos images ISO de distribution Linux préférées. Assurez-vous qu’un serveur SSH est installé et configuré pour démarrer au démarrage et que + cloud-init + a été installé et configuré correctement pour utiliser la source de données + ConfigDrive +. Enfin, assurez-vous que tous les fichiers de configuration réseau obsolètes ont été purgés.

Vous pouvez également utiliser un outil tel que Packer pour automatiser la création des images de votre machine.

Pour en savoir plus sur les images personnalisées DigitalOcean, consultez les images personnalisées product docs et lancez https://blog.digitalocean.com/custom-images/. [article de blog].

Related