Notes et astuces sur les systèmes libres basés sur GNU/Linux

Aller au contenu | Aller au menu | Aller à la recherche

Mot-clé - puppet

Fil des billets

mercredi, 5 février 2014

Gestion de mon environnement de developpement

Hello world !
Une petite note pour partager mon "expérience" sur l’administration de mon serveur dédié.
Je ne sais pas comment vous fonctionnez pour gérer vos serveurs mais moi j'utilise Puppet.
J'ai choisi cette technologie car je m'en sers énormément au boulot alors tant qu'à apprendre quelque chose autant que cela me serve.
Ce logiciel me permet d'installer/réinstaller mon serveur de zéro en quelques minutes sans oublier quelque chose.
Il y a plusieurs manières de se servir de Puppet à savoir :

  • Client/Serveur sur architecture n-tiers
  • Client/Serveur en mode standalone

Au vu de mon infrastructure, j'ai choisi la deuxième méthode. Je n'ai pas besoin de gérer un quelconque service central PuppetMaster j'ai développé un petit shell qui me permet d’exécuter mon agent Puppet sur mon serveur sans avoir besoin d'un master Puppet.

Voici l'infrastructure que j'utilise, je vais la détailler par la suite : choixlibres.png
Un petit tour des technos :
Comme vous pouvez le voir, je m’appuie sur trois étapes/environnements pseudo-cloisonnés. Les deux premières itérations s'effectuent sur mon poste de travail via la solution LXC, cette solution a l'avantage d'être légère et facilement réinstallable/réinisialisable.
J'utilise également le gestionnaire de version Git. De un car c'était une belle façon d'apprendre les DCVS et de deux car le service Github est bien pratique.
Cela ne figure pas sur le schéma mais je me sers de Zim pour documenter/noter des liens, je cherche actuellement une solution pour synchroniser mes écrits entre mes différentes machines.

Mes différents environnements :
Dev :

Cette VM me permet de tester de manière sauvage (sans documenter/en patchant comme un goret...) les futurs services que je souhaiterais mettre en place sur mon serveur dédié. Si les tests sont concluants, je passe à l'environnement suivant.

Recette :

Ce conteneur LXC est remise à zéro à chaque utilisation, je me base sur un debootstrap stable pour le faire. Je clone mon dépôt Git dans le répertoire /etc et je commence à développer le code Puppet me permettant de déployer le nouveau service. Je teste plusieurs fois en réinisialisant la VM afin de me placer dans des conditions identiques à la production. Je documente chaque étape (si la procédure le nécessite) dans mon wiki desktop ZIM. Une fois le code, la documentation, le déploiement au point, je commit et Push mon travail dans mon Git.

Production :

Sur mon serveur dédié, je me contente de faire un pull de mon dépôt Puppet et d’exécuter Puppet.
C'est tout !!!

Ce petit billet avait pour but un petit partage d'information, si vous avez des remarques ou des propositions, je suis ouvert à tout commentaires constructif ne cherchant pas à me vendre du viagra :D
Si vous le souhaitez vous pouvez visiter mon dépot Git et même me faire des commits ;)
Un début de documentation est disponible au cas ou vous souhaiteriez vous en servir.
Coming soon, une réecriutre plus propre des modules, plus de paramètres/d'automatisations pour le module parefeu

A bientôt mais en attendant, regarde comme il faut beau dehors, il faut sortir s’aérer : 15h02
J'aime bien ;)
Sources :
Mon dépot Git Puppet