Aller au contenu

cloud-init

🤖 Rédaction assistée par IA.

cloud-init est un outil permettant l'initialisation et la configuration automatique d'instances cloud (VM) au démarrage.

Points clés

  • cloud-init standardise l'initialisation des instances à travers différents fournisseurs cloud (AWS, Azure, Google Cloud, vSphere, OpenStack, KVM, etc.)
  • Les configurations sont décrites en YAML dans des directives appelées cloud-config.
  • Permet de gérer les utilisateurs, installer des packages, exécuter des scripts, configurer les fichiers et bien d'autres tâches au démarrage.
  • cloud-init est inclus par défaut dans les images Linux modernes (Ubuntu, Debian, RHEL, CentOS, etc.)

Quelques exemples

L'exemple suivant illustre l'utilisation de cloud-init pour initialiser un utilisateur et installer des packages :

#cloud-config
users:
  - name: ubuntu
    groups: sudo
    shell: /bin/bash
    sudo: ALL=(ALL) NOPASSWD:ALL

packages:
  - curl
  - git
  - python3-pip

runcmd:
  - echo "Initialization complete"

Voir aussi :

Utilisation

Vérifier l'installation

cloud-init --version

Contrôler le statut

cloud-init status
cloud-init status --long

Afficher les logs

journalctl -u cloud-init
cat /var/log/cloud-init-output.log

Validation et débogage

Pour valider la syntaxe cloud-config :

cloud-init devel schema -c ./user-data.yaml

Pour nettoyer et relancer cloud-init sur une instance existante :

sudo cloud-init clean --logs --seed
sudo cloud-init init --local

Expérimentations

Ressources