Lab 04 : Utilisation des provisioners
Objectifs
Section intitulée « Objectifs »Utiliser différents provisioners pour configurer les instances créées par Packer.
Architecture du TP
Section intitulée « Architecture du TP »Dans cette partie, vous allez apprendre à :
- Ajouter un provisioner Shell dans votre template Packer
- Ajouter un provisioner Ansible pour exécuter un playbook
Utilisation des provisioners
Section intitulée « Utilisation des provisioners »- Reprenez le template Packer du lab02
- Installez Ansible
pip install ansible --userDans le template ajoutez :
- un provisioner Shell pour mettre à jour tous les packages.
- un provisioner Ansible pour exécuter un playbook :
Le contenu du fichier playbook.yml :
- hosts: all become: true tasks: - name: Install Nginx apt: name: nginx state: present update_cache: trueExécutez la commande suivante pour lancer la construction avec les provisioners :
packer build template.pkr.hclEn cas d’erreur de copie de fichier sur la machine distante, créez ce fichier de
configuration Ansible ansible.cfg :
control_path = %(directory)s/%%h-%%p-%%rpipelining = truescp_extra_args = -Oscp_if_ssh = truessh_args = -o ControlMaster=auto -o ControlPersist=600stransfer_method = smart
display_failed_stderr = trueforks = 20host_key_checking = falseinterpreter_python = autonocows = 1remote_tmp = $HOME/.ansible/tmpretry_files_enabled = falseChallenge
Section intitulée « Challenge »Ajouter un provisioner qui se charge de réduire la taille de l’image, de supprimer des fichiers inutiles, …