gpt4 book ai didi

Ansible-pull,没有库存限制

转载 作者:行者123 更新时间:2023-12-02 12:04:03 26 4
gpt4 key购买 nike

我想要一组 git 存储库,其中包含基本应用程序配置手册,这样我需要对任何虚拟机执行的所有操作,无论其名称或角色或存在多久,都可以安装基本配置针对此存储库运行 ansible-pull 命令,我就得到了一个可供使用的实例。我遇到的问题是,如果我有一个像这样设置的 playbook local.yml:

- hosts: localhost
connection: local
gather_facts: yes
user: root
[...]

或者像这样:

- hosts: all
connection: local
gather_facts: yes
user: root
[...]

我不断收到以下错误:

# ansible-pull -d /tmp/myrepo -U 'http://mygithost/myrepo' 
Starting ansible-pull at 2015-06-09 15:04:05
localhost | success >> {
"after": "2e4d1c637170f95dfaa8d16ef56491b64a9f931b",
"before": "d7520ea15baa8ec2c45742d0fd8e209c293c3487",
"changed": true
}

**ERROR: Specified --limit does not match any hosts**

我能够避免该错误的唯一方法是创建一个具有显式组名和显式主机名的显式 list 文件,然后使用“-i”标志引用该文件,如下所示:

# cat /tmp/myrepo/myinventory
[mygroup]
myhost1
myhost2

# cat /tmp/myrepo/local.yml
- hosts: mygroup
connection: local
gather_facts: yes
user: root
[...]

# ansible-pull -d /tmp/myrepo -i myinventory -U 'http://mygithost/myrepo'

但我不希望这样,我希望任何主机,无论其名称或角色是否已知,都能够对存储库运行 ansible-pull 并运行剧本,而无需显式配置主机的名称主机进入库存。我该怎么做?

最佳答案

以下是我在虚拟机中用于 ansible-pull 的工作流程:

在基础虚拟机中,我将一个名为 hosts 的文件放在 /etc/ansible 中:

# cat /etc/ansible/hosts
localhost ansible_connection=local

我的 local.yaml 开头为

- hosts: localhost
gather_facts: yes
user: root
...

现在我可以使用 ansible-pull 而不指定主机文件。

关于Ansible-pull,没有库存限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30782736/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com