| Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente |
| linux_puppet [2022/11/18 22:36] – nekan | linux_puppet [2023/05/30 15:58] (Version actuelle) – [Qu'est-ce qu'un orchestrateur ?] nekan |
|---|
| ===== Qu'est-ce qu'un orchestrateur ? ===== | ===== Qu'est-ce qu'un orchestrateur ? ===== |
| |
| Un orchestrateur est un système permettant d'automatiser une installation. ''puppet'' en est un. Une fois configuré, il pourra envoyer les différentes configurations à ces clients à distance, procéder àdes installations de paquets, etc. De plus, les fichiers de configurations gérés par ''puppet'' sont protégés d'une modification non voulue. Ainsi, si un programme malveillant ou une erreur d'un utilisateur modifie un fichier de configuration alors le système remettra le fichier valide en place et redémarrera les services concernés au besoin. | Un orchestrateur est un système permettant d'automatiser une installation. ''puppet'' en est un. Une fois configuré, il pourra envoyer les différentes configurations à ces clients à distance, procéder à des installations de paquets, etc. De plus, les fichiers de configurations gérés par ''puppet'' sont protégés d'une modification non voulue. Ainsi, si un programme malveillant ou une erreur d'un utilisateur modifie un fichier de configuration alors le système remettra le fichier valide en place et redémarrera les services concernés au besoin. |
| |
| <callout type="danger" title="Droits" icon="true">Les différentes procédures suivantes nécessite des droits ''root''. N'oubliez pas les sauvegardes avant toute action.</callout> | <callout type="danger" title="Droits" icon="true">Les différentes procédures suivantes nécessite des droits ''root''. N'oubliez pas les sauvegardes avant toute action.</callout> |
| |
| * Là aussi, pour plus de simplicité, on met en place des liens symboliques pour le client (présent sur le serveur) et le serveur : | * Là aussi, pour plus de simplicité, on met en place des liens symboliques pour le client (présent sur le serveur) et le serveur : |
| <sxh bash>ln -sf /opt/puppetlabs/bin/puppet /bin/puppet | <sxh bash>ln -sf /opt/puppetlabs/bin/puppet /bin/puppet</sxh> |
| ln -sf /opt/puppetlabs/bin/puppetserver /bin/puppetserver</sxh> | |
| |
| ==== Enregistrement du client ==== | ==== Enregistrement du client ==== |
| |
| * La console affiche alors que le client a fait une requête pour la création d'un certificat auprès du serveur ''puppet'' : | * La console affiche alors que le client a fait une requête pour la création d'un certificat auprès du serveur ''puppet'' : |
| <WRAP center round box 80%> | <WRAP announcement purple> |
| <poem> | <poem> |
| <text type="success" size="10">Info: Creating a new RSA SSL key for test.shyrkasys.local</text> | <text type="success" size="10">Info: Creating a new RSA SSL key for test.shyrkasys.local</text> |
| |
| * La console doit alors nous indiquer qu'elle récupère le nouveau certificat et qu'elle met le catalogue en cache : | * La console doit alors nous indiquer qu'elle récupère le nouveau certificat et qu'elle met le catalogue en cache : |
| <WRAP center round box 80%> | <WRAP announcement purple> |
| <poem> | <poem> |
| <text type="success" size="10">Info: csr_attributes file loading from /etc/puppetlabs/puppet/csr_attributes.yaml</text> | <text type="success" size="10">Info: csr_attributes file loading from /etc/puppetlabs/puppet/csr_attributes.yaml</text> |
| |
| * Sur le serveur, on va créer une classe de test ''/etc/puppetlabs/code/environments/production/manifests/class/test.pp'' dans laquelle on va ajouter le code suivant : | * Sur le serveur, on va créer une classe de test ''/etc/puppetlabs/code/environments/production/manifests/class/test.pp'' dans laquelle on va ajouter le code suivant : |
| <sxh bash>class test { | <file>class test { |
| notify { "Ceci est un test de déploiement": } | notify { "Ceci est un test de déploiement": } |
| }</sxh> | }</file> |
| |
| * On modifie aussi le fichier ''/etc/puppetlabs/code/environments/production/manifests/node.pp'' avec la ligne suivante : | * On modifie aussi le fichier ''/etc/puppetlabs/code/environments/production/manifests/node.pp'' avec la ligne suivante : |
| <sxh bash>node "test.shyrkasys.local" { include test }</sxh> | <file>node "test.shyrkasys.local" { include test }</file> |
| |
| * Sur le client cette fois, on relance la commande de l'agent : | * Sur le client cette fois, on relance la commande de l'agent : |
| |
| * La console doit alors faire apparaître la ligne de notification paramétrée : | * La console doit alors faire apparaître la ligne de notification paramétrée : |
| <WRAP center round box 80%> | <WRAP announcement purple> |
| <poem> | <poem> |
| <text type="success" size="10">Info: Using environment 'production'</text> | <text type="success" size="10">Info: Using environment 'production'</text> |