Un puppet master en quelques minutes avec puppet as a service

Bonjour à tous,

Toute personne ayant déjà déployé une infrastructure complexe connaît un outil de déploiement. Que ce soit Puppet, Ansible ou Chef, ils sont devenus indispensables pour un déploiement simplifié et pour faire ce que l’on appelle de « l’infrastructure as code ».

De nos jours, le cloud a le vent en poupe et tout doit être dans ce gros nuage. Mais voilà, comment faire pour que mon outil de déploiement soit lui aussi dans ce cloud ? Dois-je vraiment maintenir et héberger cet outil ?

Nous parlerons ici de Puppet car Chef possède déjà sa propre offre maintenue et hébergée. Tous ceux qui ont déjà installé un puppet master savent qu’il est assez compliqué de le maintenir et surtout de faire de la répartition de charge. L’avantage d’avoir son système de déploiement hébergé est bien réel. On peut se concentrer uniquement sur l’infrastructure que l’on déploie et non pas sur le déploiement et l’administration de notre système de déploiement.

C’est là qu’entre en jeu OVH avec un lab sous la marque Runabove : Puppet as a Service. Après l’hébergement de docker et l’internet des objets, Runabove héberge un service de puppet master à la demande et configurable depuis une API ou un manager Web. Ce service est encore un lab en bêta, ce qui signifie qu’il est proposé au client en test afin d’être évalué et testé par les clients, donc évitez de mettre toute votre prod dessus. Dernier avantage de ce lab : il est GRATUIT !! Pour ce prix-là, vous pourrez lancer jusqu’à 2 masters potentiellement load balancés avec un choix de 2 flavors.

Pour accéder au service, il suffit d’avoir un compte Runabove ou d’en créer un et de s’inscrire au lab. Une fois fait, on découvre/génère notre couple login/password qui va nous permettre d’accéder à l’API et au manager.

Capture d’écran 2015-12-09 à 23.27.39Le concept du lab est assez simple. Vous donnez votre repo git avec vos modules puppet (la partie code de « infrastructure as code ») et Puppet-aaS va vous lancer un master que vous pourrez gérer par l’API.

Capture d’écran 2015-12-09 à 23.52.05

Le manager permet de créer un puppet master, des deploy-keys et des backends hieras que l’on peut lier aux masters. Les deploy-keys sont utilisées pour pouvoir récupérer les git sécurisés.

Pour tester le service, Puppet-aaS fournit un repo git de test qui contient des modules qui installeront un simple Nginx avec une page configurable à travers des variables hiera.

Pour la démo, je crée juste un master avec le repo fournit par le lab. Après quelques minutes, mon master est déployé et prêt à recevoir des agents.

Je retrouve le hostname et le CA du master directement dans le manager.

Une fois sur ma vm de test en Debian 8, j’installe juste puppet et je le connecte au master grâce à cette simple commande :

sudo puppet agent -vt --server bibabox.*******.master.puppet.runabove.io

 

 

Je retrouve la demande de certificat dans mon manager et je peux facilement comparer le fingerprint et signer le certificat.

Capture d’écran 2015-12-10 à 00.03.35

Une fois le certificat signé et mon agent relancé, j’ai effectivement un Nginx fonctionnel installé.

Capture d’écran 2015-12-10 à 00.10.15

Pour plus d’informations, vous pouvez aller voir les guides et la documentation de l’API.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *