Les machines virtuelles et conteneurs sont désormais fortement utilisés, en développement comme en production. Pour leur déploiement ou leur partage, les administrateurs systèmes se retrouvent donc confrontés aux mêmes problématiques que pour les machines physiques, à savoir comment générer des images à la configuration identique, de manière automatique, parfois dans plusieurs formats différents? Hashicorp a fait face aux mêmes problèmes, pour générer des Box dans différents formats pour son outil Vagrant, c'est pourquoi ils ont créé Packer.
Packer est un outil en ligne de commandes qui permet d’automatiser la génération d’images à la configuration identique à partir d’un seul fichier source, fichier au format JSON. Ce fichier offre beaucoup de paramètres et directives de configuration, mais on peut noter trois blocs JSON qui sont particulièrement importants :
- builders : c’est LE bloc obligatoire dans tout fichier de template. Les builders sont les formats d’image que vous désirez générer : Docker, VirtualBox, etc. Suivant le builder choisi, les options possibles seront différentes : pour Docker vous aurez des directives qui ressemblent à celles du Dockerfile pour configurer les métadonnées du conteneur ; pour une AMI Amazon, des options propres à votre compte Amazon, etc.
- provisioners : un provisioner se sert de l’image résultat d’un builder pour la converger vers l’état de configuration final désiré. Un provisioner peut être une simple commande Shell, un script. Packer...
- Accédez à tous les contenus de Connect en illimité
- Découvrez des listes de lecture et des contenus Premium
- Consultez les nouveaux articles en avant-première