我想在远程主机上运行该剧本,该剧本位于github中。因此,我遵循了此blog并分叉了仓库https://github.com/vincesesto/ansible-pull-example
在仓库中,我已将hosts
文件修改为服务器IP。运行ansible-pull
veeru@carb0n:~/ansible-example$ ansible-pull -U https://github.com/veerendra2/ansible-pull-example -i hosts
Starting Ansible Pull at 2019-06-26 16:26:30
/usr/local/bin/ansible-pull -U https://github.com/veerendra2/ansible-pull-example -i hosts
[WARNING]: Could not match supplied host pattern, ignoring: carb0n
ERROR! Specified hosts and/or --limit does not match any hosts
即使我指定了carb0n
参数,也不确定为什么要选择当前服务器名称-i hosts
。
这是我的hosts
文件
[hydrogen]
10.250.30.11
local.yml
---
- hosts: all
tasks:
- name: install example application
copy:
src: ansible_test_app
dest: /tmp/
owner: root
group: root
我已将local.yml
更改为hydrogen.yml
,但仍然遇到相同的错误。
答案 0 :(得分:0)
即使我指定了-i hosts参数,也不确定为什么选择当前服务器名称carb0n。
可以,因为可靠的 pull 设计为始终针对当前主机运行。如果要在远程服务器上运行,则应该使用ansible
或ansible-playbook
,然后您对主机列表和连接机制的说明就会变得有意义再次。
使用ansible-pull
用于无法或非常不希望某些东西连接到托管主机的情况。这可能是由于防火墙,安全策略或多种原因所致。但是,对于托管主机本身可以连接的内容,策略通常没有那么严格,这就是为什么将配置拖到主机上变得更容易的原因。