【发布时间】:2016-05-28 16:17:08
【问题描述】:
我有 3 台机器的简单 Vagrantfile 和 Ansible 作为服务器配置器。 Vagrantfile 看起来像这样:
# -*- mode: ruby -*-
# vi: set ft=ruby :
Vagrant.configure(2) do |config|
# Jira machine
config.vm.define 'jira' do |jira|
jira.vm.box = 'puppetlabs/ubuntu-14.04-64-nocm'
jira.vm.network "private_network", ip:"192.168.77.11"
jira.vm.hostname = 'jira'
jira.vm.provider :virtualbox do |vb|
vb.name = 'jira'
end
end
# Master machine with proxy beetwen mattermost and jira
config.vm.define 'master' do |master|
master.vm.box = 'puppetlabs/ubuntu-14.04-64-nocm'
master.vm.network "private_network", ip:"192.168.77.10"
master.vm.hostname = 'master'
master.vm.provider :virtualbox do |vb|
vb.name = 'master'
end
end
# Mattermost machine
config.vm.define 'mattermost' do |mattermost|
mattermost.vm.box = 'puppetlabs/ubuntu-14.04-64-nocm'
mattermost.vm.network "private_network", ip:"192.168.77.12"
mattermost.vm.hostname = 'mattermost'
mattermost.vm.provider :virtualbox do |vb|
vb.name = 'mattermost'
end
end
# Provision part
config.vm.provision :ansible do |ansible|
ansible.limit = 'all'
ansible.playbook = 'provisioning/main.yml'
ansible.inventory_path = 'developer'
ansible.sudo = true
ansible.verbose = '-vvvv'
end
结束
在 vagrant up 之后,列表中的第一台机器被正确配置,但后来 Ansible 无法 ssh 到下一台机器。正如我在调试中看到的,它仍然使用相同的私钥对其余机器进行身份验证。以下是提供的输出要点:https://gist.github.com/Cosaquee/224a84f171aa8cd458d9ce56e8c8e111。
我刚开始玩 Ansible,所以我不知道如何强制 ansible 在每台机器上使用私钥,而不仅仅是一台机器。也许问题出在其他地方。
任何帮助都会很好。谢谢你。
【问题讨论】:
-
你能在每个机器块中运行 ansible 配置吗?我知道这是重复的代码,所以不太好,但看看它是否有效 - 如果它以这种方式工作,您可能需要创建一张针对 vagrant 的票
标签: configuration vagrant ansible vagrantfile