Vagrant et Ansible

Les configurations via Ansible doivent être testées et éprouvées. Et il est parfois délicat d’obtenir une infrastructure disponible. Personnellement, pour mes développements, mes essais, et mes premières validations, je provisionne des VMs Virtualbox sur mon laptop à l’aide de Vagrant. Le cas d’usage du lab’ nécessitant plusieurs VMs d’usage différent et donc de ressources variées a été présenté dans mon précédent article pour la partie provision. Voyons donc maintenant comment y intégrer Ansible en un exposé étape par étape.

Considérant que beaucoup de sites proposent des get started voire présentent en détails Ansible, je fais l’impasse pour rentrer dans le vif du sujet : Remplir son inventaire des arguments SSH, générer cet inventaire, et appliquer un playbook à cet inventaire, le tout en automatique à l’aide d’un seul vagrant up !

Lire la suite

Vagrant : ad hoc

Les configurations doivent être testées et éprouvées. Surtout quand c’est aussi aisé avec des outils de configuration management tels que Puppet, Ansible, ou SaltStack. Mais il est parfois délicat d’obtenir une infrastructure disponible. Personnellement, pour mes développements, mes essais, et mes premières validations, je provisionne des VMs Virtualbox sur mon laptop à l’aide de Vagrant.

Le cas d’usage du lab’ nécessitant plusieurs VMs d’usage différent et donc de ressources variées a été présenté dans mon précédent article pour la partie provision. Voyons donc maintenant comment se faciliter la vie côté réseau en un exposé étape par étape.

$ vagrant status
IP:           Ports:   Host:
192.168.10.10 22=>2210 kiwi.oloc
192.168.10.11 22=>2211 koala-01.oloc
192.168.10.12 22=>2212 koala-02.oloc

Current machine states:

kiwi     running (virtualbox)
koala-01 running (virtualbox)
koala-02 running (virtualbox)

Voyons comment en arriver à ce vagrant status répondant à notre besoin d’un lab’ complet aux VMs variées dans un réseau ad hoc

Lire la suite

Vagrant : Des provisions

Au-delà de la bonne pratique de versionner sa configuration infrastructure grâce au Vagrantfile, l’intérêt d’utiliser Vagrant est aussi de configurer plusieurs VMs à la fois. Le cas d’usage venant à l’esprit est le lab’ nécessitant plusieurs VMs d’usage différent et donc de ressources variées. Voyons donc ce cas pratique en un exposé étape par étape.

De bons tutoriaux vous exposeront l’installation et les premiers pas avec Virtualbox et Vagrant plus en détails. Je me permets d’être rapide. Dans un premier élan vous tentez un vagrant init qui -déception- ne fait que vous créer un Vagrantfile, le fameux que nous triturerons à souhait. Si vous lisez ce fichier de plus de 70 lignes en supprimant celles vides et les remarques (très instructives), vous obtenez bien peu de choses :

$ sed -e '/#/d' -e '/^$/d' Vagrantfile
Vagrant.configure(2) do |config|
  config.vm.box = "base"
end

Voyons comment l’étoffer pour répondre à notre besoin d’un complet lab’ aux VMs variées…

Lire la suite

Get your lab!

Certaines sociétés veulent leur DevOps lab. Un bien grand mot pour caractériser une plate-forme de travail dédiée aux outils DevOps. A l’instar de tout bac-à-sable, ce lab est un excellent moyen de se les approprier, d’apprendre à les administrer, à les maitriser. Non seulement des sociétés mettent les moyens pour une telle mise en place, mais parfois des individus à titre personnel veulent eux aussi se parfaire voire acquérir de nouvelles compétences. Et donc les uns ou les autres commencent à installer ces fameux outils DevOps.

Comment ça « installer » ? Vous voulez dire apt-get install etc. ? En somme, installer à la main !? Ce qui me parait assez hallucinant quand on parle de DevOps, de configuration et de déploiement automatique, avec toute la batterie d’automatisation et de scripting sous-jacente ! A mon sens, pour un DevOps Lab, il faut le constituer dans un esprit DevOps ou plus exactement en Infra-as-code. Et moi de lancer le projet G10B, le numéronyme pour Get your lab!

Voyons plus avant le concept de ce projet permettant d’obtenir ex-nihilo un DevOps lab sans les mains.

g10b - v0.3
Lire la suite