Aller au contenu

GUIDE TECHNIQUE · PUPPET

Puppet : Premier manifeste avec puppet apply

Créer son premier manifeste Puppet pour gérer un fichier de configuration, afficher les changements prévus avec --noop et constater l'idempotence. Le laboratoire s'exécute localement sans Puppet Server et sans modifier un service de production.

Niveau Débutant4 min de lecture— vuesPuppet

L’ESSENTIEL EN BREF

Les étapes clés

Ce guide présente 4 étapes, de « Isoler le laboratoire et vérifier le CLI » à « Appliquer puis constater l'idempotence ».

Avant de commencer : Puppet CLI accessible avec puppet --version et un utilisateur autorisé sur la machine de laboratoire.

01 · CADRAGE

Périmètre et résultat visé

Résultat attendu : puppet parser validate valide le manifeste.

Public concerné : Administrateurs Linux, équipes RUN et ingénieurs Infrastructure as Code

Environnement et versions

Puppet Core récent installé sur un hôte Linux de recette ; les commandes de cet exemple utilisent puppet apply et un répertoire /tmp dédié.

Contrôlez les versions, les droits et les options disponibles dans votre environnement avant de suivre la procédure.

02 · AVANT DE COMMENCER

Prérequis et points de contrôle

  • Puppet CLI accessible avec puppet --version et un utilisateur autorisé sur la machine de laboratoire.
  • Dossier /tmp/puppet-lab réservé à la démonstration ; aucun fichier métier ne doit partager ce chemin.
  • Politique de journalisation connue : les manifests et rapports ne doivent pas contenir de secrets.

03 · VUE D’ENSEMBLE

Comprendre l’architecture et les flux

ARCHITECTURE TECHNIQUEComprendre la chaîne de bout en bout
01Manifeste .pp
02Catalogue compilé
03Mode noop
04Application locale
05Contrôle du fichier
puppet apply compile un catalogue pour la machine locale puis converge vers l'état décrit ; avec --noop, Puppet présente les changements sans les appliquer.

04 · TUTORIEL

Procédure complète, étape par étape

Suivez les étapes dans l’ordre et contrôlez chaque résultat avant de poursuivre. Renseignez les paramètres adaptés à votre environnement.

01

ÉTAPE 1 / 4

Isoler le laboratoire et vérifier le CLI

L'exercice doit être réversible et ne pas dépendre d'un serveur Puppet.

  1. Vérifier la version puis créer un répertoire temporaire dédié.
  2. Confirmer que le fichier cible n'existe pas et qu'aucune application métier ne l'utilise.
Exemple techniqueÀ adapter à votre environnement
puppet --version
mkdir -p /tmp/puppet-lab
ls -la /tmp/puppet-lab
Ce qui se passe à cette étape
1CLI
2Répertoire
3Vérification

À vérifier : Un répertoire isolé est prêt.

Point de vigilance : Exécuter les opérations uniquement sur un environnement de recette autorisé, sans secret ni donnée de production.

02

ÉTAPE 2 / 4

Écrire une ressource file

Une ressource déclarative définit l'état à obtenir, pas une suite d'opérations impératives.

  1. Créer demo.pp avec une ressource file sans informations sensibles.
  2. Utiliser ensure, content et mode, puis contrôler la syntaxe.
Exemple techniqueÀ adapter à votre environnement
file { '/tmp/puppet-lab/message.txt':
  ensure  => file,
  content => "Puppet gère ce fichier\n",
  mode    => '0644',
}
Ce qui se passe à cette étape
1Fichier .pp
2Ressource file
3Vérification

À vérifier : Le manifeste se compile avec des paramètres explicites.

Point de vigilance : Exécuter les opérations uniquement sur un environnement de recette autorisé, sans secret ni donnée de production.

03

ÉTAPE 3 / 4

Prévisualiser avec --noop

La simulation donne l'occasion de relire les opérations proposées avant écriture.

  1. Exécuter la vérification de syntaxe et puppet apply --noop.
  2. Vérifier qu'un fichier serait créé sans qu'il ait encore été écrit.
Exemple techniqueÀ adapter à votre environnement
puppet parser validate demo.pp
puppet apply --noop demo.pp
test ! -e /tmp/puppet-lab/message.txt && echo 'non créé'
Ce qui se passe à cette étape
1Syntaxe
2Catalogue
3Vérification

À vérifier : La simulation annonce une création ; le fichier reste absent.

Point de vigilance : Exécuter les opérations uniquement sur un environnement de recette autorisé, sans secret ni donnée de production.

04

ÉTAPE 4 / 4

Appliquer puis constater l'idempotence

Une seconde exécution sans modification doit conserver l'état actuel.

  1. Exécuter le manifeste une fois, puis à nouveau sans changement.
  2. Comparer le contenu et les permissions aux attentes du manifeste.
Exemple techniqueÀ adapter à votre environnement
puppet apply demo.pp
puppet apply demo.pp
cat /tmp/puppet-lab/message.txt
stat /tmp/puppet-lab/message.txt
Ce qui se passe à cette étape
1Apply
2Nouvelle passe
3Vérification

À vérifier : La seconde exécution ne rapporte pas de changement et le fichier contient la valeur attendue.

Point de vigilance : Exécuter les opérations uniquement sur un environnement de recette autorisé, sans secret ni donnée de production.

RÉFÉRENCES TECHNIQUES

Documentation officielle

Retrouvez les prérequis, les fonctionnalités et les versions prises en charge par Puppet. Vérifiez les commandes sur un environnement de test avant leur utilisation en production.

Consulter la documentation officielle

05 · RECETTE

Comment vérifier que tout fonctionne ?

Résultat attenduContrôles avant de considérer la procédure terminée
01

puppet parser validate valide le manifeste.

02

Le premier passage --noop ne crée pas le fichier.

03

Le second apply est sans changement et le mode attendu est présent.

06 · DIAGNOSTIC

Problèmes fréquents et résolution

Unknown resource type

Cause probable : Ressource mal orthographiée ou module absent

Que faire : Vérifier le type file et les dépendances du catalogue.

Permission denied

Cause probable : Utilisateur non autorisé à écrire dans le chemin

Que faire : Choisir un dossier autorisé plutôt qu'élever sans justification les privilèges.

Le fichier change à chaque exécution

Cause probable : Un autre processus modifie le même fichier

Que faire : Identifier le propriétaire de la configuration et supprimer la concurrence avant la mise en production.

07 · QUESTIONS PRATIQUES

Questions fréquentes

Puppet apply a-t-il besoin d'un serveur ?

Non. La compilation et l'application locales sont possibles pour ce laboratoire.

Que signifie --noop ?

Il calcule et signale les changements prévus sans appliquer les changements de ressources pris en charge.

Pourquoi répéter apply ?

Cela permet de vérifier l'idempotence sur une configuration et un état inchangés.

AUTRES TECHNOLOGIES

Guides complémentaires

Tous les guides Puppet

VOTRE ENVIRONNEMENT

Besoin d’aller plus loin sur votre environnement ?

Automatisation, sécurité et exploitation : échangeons sur vos pratiques Puppet.

Échanger avec ADN Consulting

Pour aller plus loin