IREX - Déployez des instances cloud personnalisées en un clin d'œil : Guide complet d'installation et de configuration de Cloud-init sur une VM

Découvrez comment installer et configurer Cloud-init pour des déploiements rapides et personnalisés d'instances cloud.

 · 3 min read


  1. Introduction
  2. En tant qu'administrateur système, la configuration automatisée des instances dans le Cloud est essentielle pour optimiser l'efficacité et gagner du temps. Cloud-init est un outil puissant qui facilite grandement ce processus en automatisant la configuration des instances lors de leur démarrage. Dans cet Documentation, nous vous guiderons à travers l'installation et la configuration de Cloud-init sur une machine virtuelle.

  3. Installation de Cloud-init
  4. L'installation de Cloud-init varie en fonction du système d'exploitation que vous utilisez sur votre VM. Voici les instructions générales pour quelques distributions populaires :

    • Sur une machine virtuelle exécutant un système de la distribution debian, Assurez-vous que le système est à jour en exécutant les deux commandes suivante :
    • sudo apt update

      sudo apt upgrade -y

    • Après la mise à jour du système, installez cloud-init en avec la commande ci-dessous:
    • sudo apt install cloud-init -y

    • L'installation terminée, il faut lancer et permettre à cloud-init de se lancer automatiquement au reboot de la machine. Ceci se fait en tapant ces deux commandes:
    • sudo systemctl start cloud-init

      sudo systemctl enable cloud-init

    • Vérifiez la version de Cloud-init installée en exécutant la commande :
    • cloud-init --version


  5. Configuration de Cloud-init
    • Le fichier de configuration de Cloud-init (cloud.cfg) se trouve dans le répertoire "/etc/cloud'. Nous devons l'éditer pour définir les paramètres de configuration à notre guise. Le module cloud-init set-passwords permet à la plateforme de définir un mot de passe pour chaque instance créée à partir du modèle principal. Nous allons l'activer pour chaque démarrage car par défaut, il s'exécute uniquement au premier démarrage. Utilisons la commande sed pour modifier cette option dans le fichier /etc/cloud/cloud.cfg. :
    • sudo sed -i s/" - set-passwords"/" - [set-passwords, always]"/g /etc/cloud/cloud.cfg

    • Nous allons également configurez le module cloud-init ssh pour qu'il s'exécute à chaque démarrage pour permettre à cloud-init d'installer automatiquement de nouvelles clés SSH si besoin:
    • sudo sed -i s/" - ssh$"/" - [ssh, always]"/g /etc/cloud/cloud.cfg

    • Désactivez la régénération des certificats d'hôte cloud-init au démarrage pour éviter les avertissements à toute personne se connectant au système ou essayant d'automatiser l'accès SSH.
    • echo "ssh_deletekeys: false" > /etc/cloud/cloud.cfg.d/49_hostkeys.cfg


  6. Définir les sources de données
  7. Cloud-init à besoin de d'une sources de données à utiliser. Nous pouvons les définir en fonction de nos besoins et de l'environnement dans lequel nous utilisons Cloud-init (CLoudStack dans ce cas). Créez un fichier nommé cloudstack.cfg dans le répertoire /etc/cloud.cfg.d/ et ajouter les informations suivantes:
    source de données cloudstack


  8. Définir l'utilisateur de gestion par défaut
  9. Nous pouvons définir un utilisateur par défaut qu'utilisera Cloud-init pour la réalisation des opérations. Éditez un fichier nommé users.cfg dans le répertoire /etc/cloud.cfg.d/ et ajouter les informations suivantes:
    default user cloud-init
    Après avoir apporté les modifications nécessaires, enregistrez et fermez le fichier de configuration. Pour appliquer les modifications, exécutez la commande suivante :

    sudo cloud-init clean

    sudo cloud-init init


  10. Utilisation de Cloud-init
  11. Maintenant que nous avons installé et configuré Cloud-init, nous pouvons l'utiliser pour automatiser la configuration de nos instances lors de leur démarrage. Nous pouvons créer des fichiers cloud-config au format YAML contenant les directives de configuration spécifiques à exécuter lors du démarrage. Voici un exemple simple de fichier cloud-config qui met à jour la cache apt et upgrade le système, définit le hostname, installe nginx, git, ansible, et crée un fichier dev.onesi.ca.conf personnalisé :
    utilisation de cloud-init


  12. Conclusion
  13. Avec Cloud-init, vous pouvez installer et configurer rapidement des instances cloud personnalisées, répondant ainsi parfaitement à vos besoins spécifiques. En suivant notre guide d'installation et de configuration, vous serez en mesure de déployer des VMs optimisées en un clin d'œil. Ne perdez plus de temps avec des configurations manuelles fastidieuses, laissez Cloud-init automatiser le processus et concentrez-vous sur l'essentiel : la création de votre infrastructure cloud de manière rapide et efficace.

    Vous n'avez pas encore pris connaissance de ce qu'est Cloud-init? Vous pouvez retourner lire cet autre article portant sur L'introduction à Cloud-init.


    Ces autres articles pourraient vous intéresser :


Huliam Kenfack

Ingénieur Cloud / DevOps

No comments yet

No comments yet. Start a new discussion.

Add Comment