Sujet : imaging
-
Généraliser une image Windows avec Sysprep : /generalize, /oobe, /shutdown et la limite de réarmement
Sysprep /generalize supprime d'une installation Windows les informations propres à l'ordinateur, comme le SID et les périphériques configurés, afin de pouvoir déployer l'image sur d'autres machines. Depuis Windows 8.1/Server 2012, Sysprep peut être exécuté jusqu'à 1001 fois par image (3 fois sous Windows 7/Server 2008 R2), et les échecs de généralisation laissent des traces dans les journaux Panther sous System32\Sysprep.
-
Préparer une image de référence Linux pour le clonage : clés d'hôte, machine-id, journaux et configuration réseau
Une image Linux destinée à être clonée de nombreuses fois ne doit contenir ni /etc/machine-id renseigné (ni /var/lib/dbus/machine-id obsolète), ni clés d'hôte SSH existantes, ni configuration réseau liée à une adresse MAC, ni état cloud-init. Sinon, chaque clone démarre avec les mêmes identifiants que les autres, et supprimer les clés d'hôte sans mécanisme de régénération au premier démarrage prive les clones de SSH.
-
Construire des images machine avec Packer : builders, provisioners, validate et build
HashiCorp Packer sépare les builders d'un template (la plateforme qui produit l'image) de ses provisioners (la configuration de la machine avant sa capture). `packer init` installe les plugins requis, `packer validate` vérifie la syntaxe et la configuration d'un template avant que `packer build` ne l'exécute, et marquer les variables comme sensibles garde les identifiants hors des templates et des logs.
-
Gestion de configuration ou création d'images : là où l'idempotence et la dérive font la différence
Les outils de gestion de configuration ramènent à chaque exécution un système en fonctionnement vers un état déclaré, alors que la création d'une image machine (baking) fige cet état une fois pour toutes au moment du build. L'idempotence rend la première approche sûre à répéter, et choisir entre baking et configuration au démarrage revient à choisir où la dérive est tolérée.
Lisible par machine : JSON