2015-10-28 2 views
0

Je viens de commencer à utiliser Ansible et Vagrant pour amorcer un environnement de développement local (appelons-le dev-server-1) et l'hôte est un ordinateur Windows (win-host).Est-ce que Vagrant peut fournir une machine virtuelle en utilisant une installation Ansible dans une autre machine virtuelle Vagrant?

je dois disposition la machine dev-server-1 en utilisant Ansible, mais gagnant-hôte exécute Windows donc je me demandais si je pouvais utiliser un autre Vagrant VM (ansible-hôte, l'exécution d'une boîte minimale avec Ansible installé) juste pour Ansible, mais laissant dev-server-1 fonctionnant sur win-host. Est-ce faisable?

+0

J'ai eu du succès dans le passé en utilisant la méthode décrite ici: http://www.azavea.com/blogs/labs/2014/10/running-vagrant-with-ansible-provisioning-on-windows/ this peut être étroitement couplé à la version Vagrant et Ansible qui a été piraté cependant. – Sparko

+1

S'il vous plaît regardez ma réponse récente à une question très similaire: http://stackoverflow.com/a/34485973/543205 –

Répondre

1

Vous ne pourrez pas utiliser le Ansible provisioner intégré dans Vagrant car cela dépend de l'hôte ayant à la fois Ansible installé et un système d'exploitation qui supporte ControlPersist (ce qui n'est pas le cas de Windows). Vous pouvez cependant utiliser Vagrant pour faire tourner vos machines virtuelles vides, puis utiliser une machine virtuelle distincte (éventuellement créée par Vagrant) avec Ansible installé pour ensuite configurer ces autres machines virtuelles.

La seule chose dont vous auriez besoin pour cela est qu'il y ait une connectivité réseau entre les machines virtuelles.

Malheureusement, vous ne pourrez pas utiliser l'inventaire généré automatiquement par Vagrant lors de l'exécution d'un provisionneur Ansible, car il nécessite l'exécution d'un provisionneur Ansible. Autant que je sache, il n'y a aucun moyen d'obtenir cet inventaire sans exécuter le provisionneur Ansible.

+0

Ouais c'est ce que je pensais, en espérant que j'ai raté quelque chose :) –

2

J'ai proposé une solution dans cette question: Provision Vagrant Linux VM with another Vagrant Linux VM running Ansible

Ce que je pense que cela peut fonctionner aussi bien pour vous, il est essentiellement à disposition la boîte errante en utilisant shell pour installer ansible sur votre invité et pour exécuter ansible contre votre localhost (sur votre boîte vagabonde).

+0

Merci, c'est essentiellement ce que @ ydaetskcoR suggère dans sa réponse. –