Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
puppet [Le 17/01/2012, 22:35]
78.236.169.216 [Esclave]
puppet [Le 13/11/2023, 01:40] (Version actuelle)
Benjamin Loison [Puppet] Mise en majuscule d'un caractère le nécessitant
Ligne 1: Ligne 1:
-{{tag>​entreprise serveur ​Hardy Lucid Maverick}}+{{tag>Xenial ​entreprise serveur}}
 ---- ----
 ====== Puppet ====== ====== Puppet ======
  
-===== Présentation ===== +Puppet est un outil de gestion de la configuration de serveurs, il permet le télédéploiement de configuration sur un ensemble de serveurs en quelques minutes. L'​intérêt de cette solution open source réside dans son support multi-plateformes (basé sur Ruby), sa sécurité (TLS), son développement actif et sa relative simplicité à mettre en œuvre.
-Puppet est un outil de gestion de la configuration de serveurs, il permet le télédéploiement de configuration sur un ensemble de serveurs en quelques minutes. L'​intérêt de cette solution open source réside dans son support multi-plateformes (basé sur Ruby), sa sécurité (ssl), son développement actif et sa relative simplicité à mettre en oeuvre.+
 \\ \\
 {{:​administration:​puppet.png|}} {{:​administration:​puppet.png|}}
  
-<note tip>Il existe une version Legacy (0.25.x) qui comporte de nombreux bugs et manque de fonctionnalités l'​article ci-dessous ne traite que de la version stable 2.6.x</note>+Systèmes supportés :​ 
 +Puppet fonctionne sur la plupart des systèmes Unix et sur WindowsVoir [[http://​www.puppetlabs.com/puppet/​requirements/​|ici]] pour plus de détails.
  
-===== Prérequis ​=====+ 
 +===== Pré-requis ​===== 
 +  * Disposer des [[:​sudo|droits d'​administration]]. 
 +  * Disposer d'une connexion à Internet configurée et activée.
   * Disposez de plusieurs serveurs à administrer sans quoi le gain de temps et d'​énergie ne sera pas effectif.   * Disposez de plusieurs serveurs à administrer sans quoi le gain de temps et d'​énergie ne sera pas effectif.
   * Notions en administration système.   * Notions en administration système.
  
-===== Systèmes supportés ===== 
-Puppet fonctionne sur la plupart des systèmes Uni* et dans une moindre mesure Windows. voir [[http://​www.puppetlabs.com/​puppet/​requirements/​|ici]] pour plus de détails. 
  
-<note tip>​Windows est officiellement supporté depuis la version 2.7.x</​note>​ 
  
 ===== Installation ===== ===== Installation =====
-Puppet est présent dans les dépôts, installez les paquets puppet, facter et puppetmaster (pour le serveur maître) : +Puppet est présent dans les [[:dépôts]], installez les paquets puppet, facter et puppetmaster (pour le serveur maître) :​ 
-  * Sur le client +  * Sur le client <​code>​apt-get install puppet</​code>​ 
-<​code>​apt-get install puppet</​code>​ +  * Sur le master <​code>​apt-get install puppetmaster</​code>​
-  * Sur le master +
-<​code>​apt-get install puppetmaster</​code>​+
 Cependant si vous souhaitez une version différente rendez-vous sur la page de téléchargement [[http://​www.puppetlabs.com/​misc/​download-options/​|officielle]] pour obtenir un package .tar.gz. Autre solution installer puppet sous forme de [[http://​puppetlabs.com/​downloads/​gems/​|gem]] (le système de paquet ruby). Dans ce cas l'​installation est tout aussi simple : Cependant si vous souhaitez une version différente rendez-vous sur la page de téléchargement [[http://​www.puppetlabs.com/​misc/​download-options/​|officielle]] pour obtenir un package .tar.gz. Autre solution installer puppet sous forme de [[http://​puppetlabs.com/​downloads/​gems/​|gem]] (le système de paquet ruby). Dans ce cas l'​installation est tout aussi simple :
 <​code>​ <​code>​
Ligne 38: Ligne 36:
 <note tip>Les fichiers de configuration sont donnés à titre d'​exemple. Vous êtes libre d'​indiquer d'​autres paramètres.</​note>​ <note tip>Les fichiers de configuration sont donnés à titre d'​exemple. Vous êtes libre d'​indiquer d'​autres paramètres.</​note>​
  
-On modifie le fichier /​etc/​puppet/​puppet.conf :+On [[:​tutoriel:​comment_modifier_un_fichier|modifie le fichier]] **/​etc/​puppet/​puppet.conf** :
 <​file>​ <​file>​
 [main] [main]
Ligne 59: Ligne 57:
 </​file>​ </​file>​
  
-=== Parefeu ​=== +=== Pare-feu ​=== 
-On modifie également notre parefeu ​afin de laisser passer les flux :+On modifie également notre pare-feu ​afin de laisser passer les flux :
 <​code>​ <​code>​
 iptables -A OUTPUT -p tcp -m state --state NEW,​ESTABLISHED -s ipdumaster --sport 8140 -d ipduclient -j ACCEPT iptables -A OUTPUT -p tcp -m state --state NEW,​ESTABLISHED -s ipdumaster --sport 8140 -d ipduclient -j ACCEPT
Ligne 69: Ligne 67:
  
 === Configuration de l'​agent Puppet === === Configuration de l'​agent Puppet ===
-/​etc/​puppet/​puppet.conf+On [[:​tutoriel:​comment_modifier_un_fichier|modifie le fichier]] **/​etc/​puppet/​puppet.conf** :
 <​file>​ <​file>​
 [main] [main]
Ligne 107: Ligne 105:
 </​file>​ </​file>​
  
-=== Parefeu ​=== +=== Pare-feu ​=== 
-Si vous disposez d'​un ​parefeu ​actif il faut songer à ouvrir le port 8139 :+Si vous disposez d'​un ​pare-feu ​actif il faut songer à ouvrir le port 8139 :
 <​code>​ <​code>​
 iptables -A OUTPUT -p tcp -m state --state NEW,​ESTABLISHED -s ipduclient --sport 8139 -d ipdumaster -j ACCEPT iptables -A OUTPUT -p tcp -m state --state NEW,​ESTABLISHED -s ipduclient --sport 8139 -d ipdumaster -j ACCEPT
Ligne 114: Ligne 112:
 </​code>​ </​code>​
  
-===== Validation =====+===== Validation ​d'un client ​=====
 Avant de pouvoir utiliser un client il faut préalablement le valider auprès du master. Pour cela sur le client lancer la commande : Avant de pouvoir utiliser un client il faut préalablement le valider auprès du master. Pour cela sur le client lancer la commande :
 <​code>​puppetd --test</​code>​ <​code>​puppetd --test</​code>​
Ligne 134: Ligne 132:
  
 ==== Via l'API REST (conseillé) ==== ==== Via l'API REST (conseillé) ====
-L'API REST permet à une requête HTTP d'​envoyer un équivalent du **puppetrun** mais permet en plus le passage d'​arguments tel que l'environement.+L'API REST permet à une requête HTTP d'​envoyer un équivalent du **puppetrun** mais permet en plus le passage d'​arguments tel que l'environnement.
 Il suffira ainsi de passer la commande suivante via **CURL** pour lancer un puppetrun sur l'​environnement de production. Cette dernière renverra alors le retour du déploiement au format **Yaml** Il suffira ainsi de passer la commande suivante via **CURL** pour lancer un puppetrun sur l'​environnement de production. Cette dernière renverra alors le retour du déploiement au format **Yaml**
 <​code>​curl -k -X PUT -H "​Content-Type:​ text/​pson"​ -d "​{}"​ https://​puppetclient:​8139/​production/​run/​no_key</​code>​ <​code>​curl -k -X PUT -H "​Content-Type:​ text/​pson"​ -d "​{}"​ https://​puppetclient:​8139/​production/​run/​no_key</​code>​
  
-L'​utilisation de l'API est explicitée [[https://www.puppetlabs.com/​guides/​rest_api.html|[en] ici]]+L'​utilisation de l'API est explicitée [[http://docs.puppetlabs.com/​guides/​rest_api.html|[en] ici]]
 ===== Problèmes ===== ===== Problèmes =====
 ==== Désactivez le déploiement automatique d'un client ==== ==== Désactivez le déploiement automatique d'un client ====
-Un client **puppetd** qui tourne en daemon à la fâcheuse tendance d'​être configuré pour exécuter un //**puppetd --test**// à intervalles réguliers. Pour solutionner ce problème tout en gardant un daemon à l'​écoute du **puppetrun** du master il faut lancer le process **puppetd** avec l'​option **--no-client** soit :+Un client **puppetd** qui tourne en daemon à la fâcheuse tendance d'​être configuré pour exécuter un //**puppetd --test**// à intervalles réguliers. Pour solutionner ce problème tout en gardant un daemon à l'​écoute du **puppetrun** du master il faut lancer le process **puppetd** avec l'​option **%%--%%no-client** soit :
 <​code>​puppetd --no-client</​code>​ pour automatiser l'​ensemble on pourra le rajouter dans le fichier /​etc/​init.d/​puppet <​code>​puppetd --no-client</​code>​ pour automatiser l'​ensemble on pourra le rajouter dans le fichier /​etc/​init.d/​puppet
  
Ligne 211: Ligne 209:
 Pour supprimer cette application,​ il suffit de [[:​tutoriel:​comment_supprimer_un_paquet|supprimer son paquet]]. Si vous avez choisi l'​option des gems il vous suffira de faire : Pour supprimer cette application,​ il suffit de [[:​tutoriel:​comment_supprimer_un_paquet|supprimer son paquet]]. Si vous avez choisi l'​option des gems il vous suffira de faire :
 <​code>​gem uninstall puppet <​code>​gem uninstall puppet
-gem uninstall facter</​code>​+gem uninstall facter</​code>​
 ===== Liens ===== ===== Liens =====
   * **en** [[http://​www.puppetlabs.com/​|Site officiel]]   * **en** [[http://​www.puppetlabs.com/​|Site officiel]]
   * **en** [[http://​docs.puppetlabs.com/​|Documentation officielle]]   * **en** [[http://​docs.puppetlabs.com/​|Documentation officielle]]
   * [[http://​puppetlabs.com/​downloads/​gems/​|Dépôt de gems]]   * [[http://​puppetlabs.com/​downloads/​gems/​|Dépôt de gems]]
-  * **fr** [[http://​fr.wikipedia.org/​wiki/​Puppet_%28outil%29|Fiche sur Wikipédia]]+  * **fr** [[wpfr>​Puppet|Fiche sur Wikipédia]]
  
 ---- ----
 //​Contributeurs principaux : [[:​utilisateurs:​Herrleiche]].//​ //​Contributeurs principaux : [[:​utilisateurs:​Herrleiche]].//​
  • puppet.1326836107.txt.gz
  • Dernière modification: Le 17/01/2012, 22:35
  • par 78.236.169.216