Vagrant Ansible远程资源调配流浪者

Vagrant Ansible远程资源调配流浪者,vagrant,ansible,Vagrant,Ansible,我正在使用ansible远程服务器来配置我的生产服务器,这很好。 现在我考虑使用这个ansible服务器来配置我的流浪VM 这有可能吗?我考虑了为vagrant文件提供一个shell脚本,该文件通过ssh登录到ansible服务器,并对本地机器上的VM执行playbook命令 我对shell脚本没有太多经验。有没有人试过,或者能告诉我更好的方法 如前所述,最好的方法是配置Vagrant box,以便使用本地机器的Ansible提供它。然后,您只需键入vagrant up[框的名称],这将启动机器

我正在使用ansible远程服务器来配置我的生产服务器,这很好。 现在我考虑使用这个ansible服务器来配置我的流浪VM

这有可能吗?我考虑了为vagrant文件提供一个shell脚本,该文件通过ssh登录到ansible服务器,并对本地机器上的VM执行playbook命令

我对shell脚本没有太多经验。有没有人试过,或者能告诉我更好的方法

如前所述,最好的方法是配置Vagrant box,以便使用本地机器的Ansible提供它。然后,您只需键入
vagrant up[框的名称]
,这将启动机器并对其进行设置。下面我附上一个使用Ansible配置流浪者箱的简单示例,您可以找到有关Ansible provisioner的所有详细信息

Vagrant.configure(Vagrant文件API版本)do | config|
#使用Ansible配置的流浪者箱示例
#启动框:“流浪者启动开发”
config.vm.define“dev”do | dev|
dev.vm.box=“Centos-6.5-minimal-x86_64-20140116”
dev.vm.box_url=”https://github.com/2creatives/vagrant-centos/releases/download/v6.5.3/centos65-x86_64-20140116.box"
dev.vm.provider:virtualbox do | vb|
自定义[
“modifyvm”,:id,
“--name”,“示例流浪者框”,
“--内存”,1024,
“--CPU”,2,
]
结束
dev.vm.network:private_网络,ip:“10.0.0.1”
dev.vm.hostname=“vagrant.local”
#使用Ansible provisioner设置箱子
dev.vm.provision“ansible”do | ansible|
#目录文件的路径
ansible.inventory_path=“./inventory/local”
#应在机器上运行的playbook的路径
ansible.playbook=“someplaybook.yml”
#设置详细级别
#“v”、“vv”、“vvv”、“vvv”。4 x v以获取最详细的调试信息
ansible.verbose=“vvv”
#将资源调配限制为以下组
#这定义了应配置到的所有服务器(或服务器组)
#这些在库存文件中定义。
ansible.limit=[“db_服务器”]
#确定当provisioner遇到加密文件时,Ansible是否请求Ansible Vault密码
#ansible.ask\u vault\u pass=“true”
#(可选)可将Ansible Vault密码存储在单独的文件中,并按如下方式传递
ansible.vault\u password\u file=“./vault password”
结束
结束

为什么不作为合适的Vangrant provisioner运行Ansible?是的,我知道我可以这样做,但我想让它对不支持Ansible:/的windows保持打开状态。从Ansible 1.7中,您可以通过PowerShell而不是SSH配置windows机器,有关更多详细信息,请参阅此处:。尽管基于Windows的计算机不能是Ansible控制计算机,但您不能从Windows配置本地/远程计算机。您可以在Windows上使用一些轻量级Linux发行版创建VM,并从中调配所有资源,但这实际上毫无意义。Windows不是一个好的开发环境。我知道可以配置Windows计算机。我想在windows主机上工作。但我开始吃它,所以我现在换成了Linux机器。这件事只有在可能的情况下才会发生。因此,如果有人加入团队,可以在不安装ansible的情况下使用此povision服务器,并且可以这样工作。