Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| puppet [Le 10/06/2011, 15:11] – [Validation] orthographe : demanderas -> demandera 80.13.6.231 | puppet [Le 13/11/2023, 01:40] (Version actuelle) – [Puppet] Mise en majuscule d'un caractère le nécessitant Benjamin Loison | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| - | {{tag> | + | {{tag>Xenial |
| ---- | ---- | ||
| ====== 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' |
| - | Puppet est un outils | + | |
| \\ | \\ | ||
| {{: | {{: | ||
| - | <note tip>Il existe une version Legacy (0.25.x) qui comporte de nombreux bugs et manque de fonctionnalités l' | + | Systèmes supportés : |
| + | Puppet fonctionne sur la plupart des systèmes Unix et sur Windows. Voir [[http:// | ||
| - | ===== Prérequis | + | |
| + | ===== Pré-requis | ||
| + | * Disposer des [[: | ||
| + | * Disposer d'une connexion à Internet configurée et activée. | ||
| * Disposez de plusieurs serveurs à administrer sans quoi le gain de temps et d' | * Disposez de plusieurs serveurs à administrer sans quoi le gain de temps et d' | ||
| * Notions en administration système. | * Notions en administration système. | ||
| - | ===== Systèmes supportés ===== | + | |
| - | Puppet fonctionne sur la plupart des système Uni* et dans une moindre mesure Windows. voir [[http:// | + | |
| ===== 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 : < |
| - | < | + | * Sur le master : < |
| - | * Sur le master | + | Cependant si vous souhaitez une version différente rendez-vous sur la page de téléchargement [[http:// |
| - | < | + | < |
| - | Cependant si vous souhaitez une version différente rendez vous sur la page de téléchargement [[http:// | + | apt-get install rubygems |
| - | < | + | gem install facter |
| - | gem install puppet</ | + | gem install puppet |
| + | </ | ||
| ===== Configuration ===== | ===== Configuration ===== | ||
| Ligne 31: | Ligne 34: | ||
| ==== Maître ==== | ==== Maître ==== | ||
| === Fichiers de configuration === | === Fichiers de configuration === | ||
| - | <note tip>Les fichiers de configuration sont donnés à titre d' | + | <note tip>Les fichiers de configuration sont donnés à titre d' |
| - | On modifie le fichier / | + | On [[: |
| < | < | ||
| [main] | [main] | ||
| Ligne 54: | Ligne 57: | ||
| </ | </ | ||
| - | === Parefeu | + | === Pare-feu |
| - | On modifie également notre firewall | + | On modifie également notre pare-feu |
| < | < | ||
| iptables -A OUTPUT -p tcp -m state --state NEW, | iptables -A OUTPUT -p tcp -m state --state NEW, | ||
| Ligne 64: | Ligne 67: | ||
| === Configuration de l' | === Configuration de l' | ||
| - | / | + | On [[: |
| < | < | ||
| [main] | [main] | ||
| Ligne 75: | Ligne 78: | ||
| listen=true | listen=true | ||
| </ | </ | ||
| + | |||
| + | Le **runinterval** permet de spécifier, en secondes, l' | ||
| Le paramètre **listen** et les fichiers auth.conf et namespaceauth.conf sont nécessaires pour activer le déploiement à partir du master (**puppet kick** ou **puppetrun**) si vous ne souhaitez pas utiliser ces commandes, ces fichiers sont inutiles. | Le paramètre **listen** et les fichiers auth.conf et namespaceauth.conf sont nécessaires pour activer le déploiement à partir du master (**puppet kick** ou **puppetrun**) si vous ne souhaitez pas utiliser ces commandes, ces fichiers sont inutiles. | ||
| Ligne 84: | Ligne 89: | ||
| allow * | allow * | ||
| </ | </ | ||
| + | |||
| + | <note warning> | ||
| / | / | ||
| Ligne 98: | Ligne 105: | ||
| </ | </ | ||
| - | === Parefeu | + | === Pare-feu |
| - | Si vous disposez d' | + | Si vous disposez d' |
| < | < | ||
| iptables -A OUTPUT -p tcp -m state --state NEW, | iptables -A OUTPUT -p tcp -m state --state NEW, | ||
| Ligne 105: | Ligne 112: | ||
| </ | </ | ||
| - | ===== Validation ===== | + | ===== Validation |
| 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 : | ||
| < | < | ||
| - | Cela va générer un certificat que l'on nous demandera de valider, pour cela sur le serveur : | + | Cela va générer un certificat que l'on nous demandera de valider. Pour cela sur le serveur : |
| < | < | ||
| nomduclient | nomduclient | ||
| Ligne 116: | Ligne 123: | ||
| ===== Déploiement à partir du master ===== | ===== Déploiement à partir du master ===== | ||
| + | |||
| + | ==== Via la commande Puppetrun ==== | ||
| Pour lancer le **puppetd --test** sans devoir être connecté à chaque client on lance | Pour lancer le **puppetd --test** sans devoir être connecté à chaque client on lance | ||
| < | < | ||
| Ligne 122: | Ligne 131: | ||
| <note tip>Si cela ne fonctionne pas vérifiez bien qu'un déploiement sur le client est fonctionnel ainsi que l' | <note tip>Si cela ne fonctionne pas vérifiez bien qu'un déploiement sur le client est fonctionnel ainsi que l' | ||
| + | ==== Via l'API REST (conseillé) ==== | ||
| + | L'API REST permet à une requête HTTP d' | ||
| + | Il suffira ainsi de passer la commande suivante via **CURL** pour lancer un puppetrun sur l' | ||
| + | < | ||
| + | |||
| + | L' | ||
| ===== 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' | + | Un client **puppetd** qui tourne en daemon à la fâcheuse tendance d' |
| < | < | ||
| ==== err: Could not retrieve catalog: Could not parse for environment development: | ==== err: Could not retrieve catalog: Could not parse for environment development: | ||
| - | Ce problème peut survenir au cours d'un déploiement, | + | Ce problème peut survenir au cours d'un déploiement, |
| < | < | ||
| Ligne 142: | Ligne 157: | ||
| ==== certificate verify failed ==== | ==== certificate verify failed ==== | ||
| < | < | ||
| - | indique que le certificat que possède le client diffère de celui du master, aussi la solution la plus simple est de régénérer un certificat sur le client puis de le signer sur le master. | + | indique que le certificat que possède le client diffère de celui du master, aussi la solution la plus simple est de régénérer un certificat sur le client puis de le signer sur le master. |
| < | < | ||
| <note important> | <note important> | ||
| - | On effectue une nouvelle tentative de déploiement qui vas générer un nouveau certificat | + | On effectue une nouvelle tentative de déploiement qui va générer un nouveau certificat |
| < | < | ||
| info: Creating a new SSL key for votreserveur.fr | info: Creating a new SSL key for votreserveur.fr | ||
| Ligne 160: | Ligne 175: | ||
| ==== err: Could not request certificate: | ==== err: Could not request certificate: | ||
| - | Si lors du lancement de la commande puppetd --test vous obtenez cette erreur | + | Si lors du lancement de la commande puppetd --test vous obtenez cette erreur |
| < | < | ||
| puppetd --test | puppetd --test | ||
| Ligne 184: | Ligne 199: | ||
| Ce problème survient lorsque le système de fichier sur lequel Puppet essaye de créer le certificat est plein. | Ce problème survient lorsque le système de fichier sur lequel Puppet essaye de créer le certificat est plein. | ||
| + | ==== Processus fantôme ==== | ||
| + | Si le déploiement renvoie une erreur de ce type : | ||
| + | < | ||
| + | notice: Run of Puppet configuration client already in progress; skipping | ||
| + | </ | ||
| + | mais qu'il n' | ||
| + | < | ||
| ===== Désinstallation ===== | ===== Désinstallation ===== | ||
| Pour supprimer cette application, | Pour supprimer cette application, | ||
| < | < | ||
| - | gem uninstall facter</ | + | gem uninstall facter</ |
| ===== Liens ===== | ===== Liens ===== | ||
| * **en** [[http:// | * **en** [[http:// | ||
| * **en** [[http:// | * **en** [[http:// | ||
| * [[http:// | * [[http:// | ||
| - | * **fr** [[http:// | + | * **fr** [[wpfr> |
| ---- | ---- | ||
| // | // | ||
