Dub*_*bby 28 debian virtualbox vagrant ansible
我已经安装了Vagrant,VirtualBox和Ansible并尝试在一台主机上运行配置,但它总是返回"正在跳过:没有匹配的主机"
我的playbook文件的头部看起来像这样:
---
- hosts: webservers
user: vagrant
sudo: yes
Run Code Online (Sandbox Code Playgroud)
我的/etc/ansible/hosts文件看起来像这样:
[webservers]
webserver1
Run Code Online (Sandbox Code Playgroud)
我尝试将IP地址放在那里,但结果相同.我已将ssh密钥添加到服务器并将webserver1主机添加到两者.ssh/config和/etc/hosts.
ssh vagrant@webserver1由于使用了ssh密钥,我可以在没有提示输入密码的情况下使用.
我在这里错过了什么?
mes*_*chs 30
它可以帮助发布您的Vagrantfile和您的ansible库存文件.
您使用的是默认的ansrant ansible提供者吗?
你指定了inventory_path吗?
config.vm.provision :ansible do |ansible| ansible.playbook = "provisioning/playbook.yml" ansible.inventory_path = "provisioning/ansible_hosts" end
--connection=local尝试/ etc/ansible/hosts 通过一个vagrant ssh启动它的吗?[webserver1] 127.0.0.1 ansible_connection=local
The*_*lis 20
我认为你也可以在没有主机文件的情况下通过在Vagrant文件中分配Ansible组来完成此操作.
如果您的Vagrant文件中没有多台计算机,则您的框可能会被称为"默认",您可以使用以下代码添加多个Ansible组.
码:
config.vm.provision "ansible" do |ansible|
ansible.groups = {
"webservers" => ["default"],
"dev_enviroment" => ["default"]
}
ansible.playbook = "provisioning/playbook.yml"
end
Run Code Online (Sandbox Code Playgroud)
我首先想到的是你的剧本文件头部的语法不正确(它在不应该的地方有额外的破折号)。它应该看起来像这样:
---
- hosts: webservers
user: vagrant
sudo: yes
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
29710 次 |
| 最近记录: |