Puppet client 4

De wiki.nexiat.fr
Aller à la navigation Aller à la recherche
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