Puppet client 4
| Fiche express | |
|---|---|
| Type | Procédure d'installation |
| Contexte | Déploiement de l'agent Puppet tout-en-un (puppet-agent), Puppet 4 et suivants
|
| Périmètre | RHEL/CentOS 6, 7 · Debian |
| Voir aussi | Puppet · Puppet client · Hiera · Augeas |
Puppet client 4 décrit l'installation de l'agent Puppet à partir de Puppet 4, distribué sous forme de paquet unique tout-en-un (AIO, All-In-One) : puppet-agent. Contrairement à l'installation historique décrite dans Puppet client (paquets puppet + ruby séparés, dépendants des paquets système), ce paquet embarque sa propre version de Ruby et l'ensemble des sous-modules : cfacter (réécriture en C de Facter), Hiera, Augeas et les bibliothèques MCollective. Tout est installé sous /opt/puppetlabs/, indépendamment des paquets Ruby du système — ce qui évite les conflits de version rencontrés avec l'ancienne méthode.
Installation
RHEL/CentOS
Activer le dépôt correspondant à la version majeure :
yum -y install https://yum.puppetlabs.com/puppetlabs-release-pc1-el-7.noarch.rpm yum -y install https://yum.puppetlabs.com/puppetlabs-release-pc1-el-6.noarch.rpm
Installer l'agent tout-en-un (le paquet puppet-agent installe la branche 1.x de l'AIO, qui embarque Puppet 4) :
yum install puppet-agent
Activer et démarrer le service :
/opt/puppetlabs/bin/puppet resource service puppet ensure=running enable=true
Important : penser à ajouter /opt/puppetlabs/bin au PATH, sans quoi les commandes puppet du système (si un paquet historique traîne encore) risquent d'être utilisées à la place.
Configuration minimale, /etc/puppetlabs/puppet/puppet.conf (à noter le chemin différent de l'installation historique, sous /etc/puppetlabs/ et non /etc/puppet/) :
vi /etc/puppetlabs/puppet/puppet.conf
[main] certname = agent01.example.com server = puppet-master.example.com environment = production runinterval = 12h
Test en mode simulation :
/opt/puppetlabs/bin/puppet agent -t --noop
Note (à vérifier) : la référence à un script node.rb pour afficher la configuration d'un nœud (/etc/puppetlabs/puppet/node.rb --push-facts) correspond à un terminus ENC personnalisé — ce n'est pas un outil fourni nativement par Puppet, ce script doit exister sur l'installation d'origine. À documenter précisément si cette fonctionnalité est réutilisée.
Debian
cd ~ && wget https://apt.puppetlabs.com/puppetlabs-release-pc1-trusty.deb dpkg -i puppetlabs-release-pc1-trusty.deb apt-get update apt-get -y install puppet-agent
/opt/puppetlabs/bin/puppet resource service puppet ensure=running enable=true
Configuration, même fichier que sous RHEL :
vi /etc/puppetlabs/puppet/puppet.conf
[main] certname = agent02.example.com server = puppet-master.example.com environment = production runinterval = 12h
/opt/puppetlabs/bin/puppet agent -t
Voir aussi
- Puppet — page hub
- Puppet client — installation historique (paquets séparés, Puppet 3.x et antérieur)
- Hiera — hiérarchie de données, embarquée dans l'agent AIO
- Augeas — édition de fichiers de configuration, embarqué dans l'agent AIO
- Puppet enterprise — distribution commerciale s'appuyant également sur l'agent AIO