2

我想在远程主机上运行剧本,剧本在 github 中。所以,我关注了这个博客并分叉了 repo https://github.com/vincesesto/ansible-pull-example

在 repo 中,我已将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

本地.yml

---
- hosts: all

  tasks:
  - name: install example application
    copy:
      src: ansible_test_app
      dest: /tmp/
      owner: root
      group: root

我已更改local.ymlhydrogen.yml,但仍然出现相同的错误。

4

1 回答 1

2

不知道为什么它选择当前服务器名称 carb0n 即使我指定了 -i hosts 参数。

当然,因为 ansible pull旨在始终针对当前主机运行。如果您想针对远程服务器运行,那么您应该使用ansibleoransible-playbook然后您的主机列表规范和连接机制将再次开始变得有意义。

使用ansible-pull是为某些不可能或非常不希望连接到托管主机的情况而设计的。这可能是由于防火墙、安全策略或任何数量的原因造成的。但是策略通常对托管主机本身可以连接的内容不那么严格,这就是为什么将配置拉到主机上更容易的原因。

于 2019-06-26T15:01:11.273 回答