Ansible只能在多机Vagrantfile中配置第一台机器

时间:2016-05-28 16:17:08

标签: configuration vagrant ansible vagrantfile

我有简单的Vagrantfile和3台机器,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

在流浪之后,列表中的第一台机器被正确配置但后来Ansible不能ssh到下一台机器。正如我在调试中看到的那样,它仍然使用相同的私钥对其余计算机进行身份验证。以下是来自条款https://gist.github.com/Cosaquee/224a84f171aa8cd458d9ce56e8c8e111的输出的要点。

我刚开始玩Ansible,所以我不知道如何强制ansible使用私钥而不是每台机器。也许问题出在其他方面。

任何帮助都会很好。谢谢。

1 个答案:

答案 0 :(得分:1)

这是您的配置应该是什么样子。注意供应商是如何嵌套的

$scope.products = [
  {name: 'cake (just it!)'},
  {name: 'orange cake'},
  {name: 'cheesecake'}
];