Puppet
Puppet is a cross platform framework enabling system administrators to perform common tasks using code. The code can do a variety of tasks from installing new software, to checking file permissions, or updating user accounts. Puppet is great not only during the initial installation of a system, but also throughout the system's entire life cycle. In most circumstances puppet will be used in a client/server configuration.
Cette section couvrira l'installation et la configuration de Puppet dans une configuration client/serveur. Cet exemple simple vous expliquera comment installer Apache en utilisant Puppet.
Pré-configuration
Prior to configuring puppet you may want to add a DNS CNAME record for puppet.example.com, where example.com is your domain. By default Puppet clients check DNS for puppet.example.com as the puppet server name, or Puppet Master. See Service de nom de domaine (DNS) for more DNS details.
Si vous ne souhaitez pas utiliser le DNS, vous pouvez ajouter des entrées dans le fichier /etc/hosts du serveur et du client. Par exemple, dans le fichier /etc/hosts du serveur Puppet, ajoutez :
127.0.0.1 hôte_local.domaine_local hôte_local puppet 192.168.1.17 client_puppet.exemple.com clientpuppet
Sur chaque client Puppet, ajoutez une entrée pour le serveur :
192.168.1.16 puppetmaster.example.com puppetmaster puppet
Remplacez les exemples d'adresses IP et noms de domaine ci-dessus avec vos adresses actuelles de serveur, de client et noms de domaine.
Installation
Pour installer Puppet, saisissez dans un terminal sur le serveur :
sudo apt-get install puppetmaster
Sur la ou les machines client, saisissez :
sudo apt-get install puppet
Configuration
Créer un chemin de dossier pour la classe apache2 :
sudo mkdir -p /etc/puppet/modules/apache2/manifests
Maintenant, configurez quelques ressources pour apache2. Créez un fichier /etc/puppet/modules/apache2/manifests/init.pp contenant ce qui suit :
class apache2 { package { 'apache2': ensure => installed, } service { 'apache2': ensure => true, enable => true, require => Package['apache2'], } }
Ensuite, créez un fichier nœud /etc/puppet/manifests/site.pp avec :
node 'puppetclient.example.com' { include apache2 }
Remplacez puppetclient.example.com par votre nom d’hôte actuel de client Puppet.
La dernière étape pour ce serveur Puppet est de redémarrer le démon :
sudo service puppetmaster restart
Maintenant que tout est configuré sur le serveur Puppet, il est temps de configurer le client.
First, configure the Puppet agent daemon to start. Edit /etc/default/puppet, changing START to yes:
START=yes
Puis démarrez le service :
sudo service puppet start
Voir l'empreinte numerique de certification du client
sudo puppet agent --fingerprint
De retour sur le serveur Puppet, voir les demandes de signatures de certificats en attente :
sudo puppet cert list
Sur le serveur Puppet, vérifiez les empreintes numériques du client et signez la certification du client puppet :
sudo puppet cert sign puppetclient.example.com
Sur le client Puppet, lancez l'agent puppet manuellement au premier plan. Cette étape n'est pas à proprement parler nécessaire, mais elle est la meilleure façon de tester et déboguer le service puppet.
sudo puppet agent --test
Vérifiez /var/log/syslog sur les deux hôtes pour toute erreur de configuration. Si tout va bien, le paquet apache2 et ses dépendances seront installés sur le client Puppet.
Cet exemple est très simple et ne met pas beaucoup de fonctionnalités et d'avantages de Puppet en évidence . Pour plus d'informations, voir Ressources.
Ressources
-
Voir le site de la Documentation officielle Puppet.
-
Voir le dépôt de modules puppet en ligne, Puppet forge.
-
Voyez également Pro Puppet.