TP Ressources
Contexte
La ressource est le concept clé de puppet. Elle représente de manière abstraite tout objet concret géré sur la machine.
Objectifs
Dans ce travail pratique nous allons:
- nous familiariser avec la commande
puppet
- découvrir la sous-commande
puppet resource
- mettre en pratique nos connaissances de base de la syntaxe puppet
- écrire notre premier manifest
- compiler et appliquer notre premier catalogue
Prérequis
- être connecté sur votre VM (instructions ici)
Exercice 1: découverte des ressources puppet
Nous allons utiliser la commande puppet resource
afin de comprendre la correspondance entre le code puppet et l'état de la machine.
- Taper la commande
puppet help
et prendre connaissance de la sortie - Taper la commande
puppet help resource
- Utiliser la commande adéquate pour lister les types de ressources disponibles
- Utiliser la commande adéquate pour afficher toutes les ressources de type
service
- En utilisant la commande
puppet
uniquement, afficher la version du logicielcronie
Note
Le comportement des commandes ne sera pas le même en tant que l'utilisateur centos
ou root
.
En effet, les privilèges nécessaires pour l'introspection du système peuvent limiter la sortie.
Exercice 2: découverte des facts
Nous allons manipuler les facts
de la machine, véritable mine d'information décrivant l'état actuel de la machine (≠ état ciblé).
- Taper la commande
facter
- Taper la commande
facter os
- Taper la commande
facter os.name
- Écrire le manifest suivant
vi facts.pp
$os_name = $facts['os']['name'] notify { 'fact in puppet code': message => "The name of this machine's OS is `${os_name}`" }
- l'appliquer avec
puppet apply facts.pp
Note
Cet exercice peut être effectué avec succès en tant que centos
, vu que la ressource de type notify
ne modifie pas réellement
l'état du système, et ne nécessite donc aucun privilège.
Exercice 3: tache_planifiee.pp
Le logiciel cronie
permet le lancement régulier de tâches sur Linux.
Nous allons écrire un manifest simple permettant de configurer le nécessaire, à savoir:
- Installer le logiciel
- Activer le service
- Configurer une tâche planifiée
- Créer un fichier
tache_planifiee.pp
. À partir de maintenant, au bout de chaque étape, appliquer le code en lançant la commandesudo puppet apply tache_planifiee.pp
- Ajouter une ressource de type
package
pour s'assurer de la présence du logicielcronie
. Indice: utiliser la sortie du dernier point de l'exercice précédent - Ajouter une ressource de type
cron
pour mettre en place une tâche planifiée. La machine devra écrire la sortie de la commande/usr/bin/uptime
dans le fichier/var/tmp/uptime
toutes les minutes. Indice: s'inspirer de la sortie de la commandepuppet resource cron
. - Ajouter une ressource de type
service
pour activer les tâches planifiées au niveau du système
Astuce
Vous pouvez utiliser la commande suivante pour appliquer un catalogue en mode "dry-run", càd en mode essai: puppet vous dira les ressources qu'il aurait modifié en mode normal:
puppet apply tache_planifiee.pp --noop