【问题标题】:Choose a specific host/host-group using ansible-playbook使用 ansible-playbook 选择特定的主机/主机组
【发布时间】:2017-09-08 03:03:56
【问题描述】:

使用 ansible-playbook 命令,我们可以为清单中的所有主机执行 playbook,我有一个从网络服务器中删除缓存的 playbook。但我不应该删除特定机器上的缓存,除非开发人员要求这样做。

但是通过使用ansible-playbook,我无法从清单中选择特定主机。但是我可以使用一些语法作为ansible-playbook somebook.play -i hostname,,但这会查找DNS条目并相应地执行,但不会检查库存文件。

另一种方法是为每个主机创建单独的清单文件并根据开发人员请求的主机调用它们,我不知道有多少推荐的方式。

AFAIK 的最后一种方法是通过 Python 使用 ansible.runner 并在主机名中使用模式并调用 python 程序。

感谢您阅读我的长文。

除了这些,您是否知道在执行剧本时从清单中选择特定主机/主机组的任何其他方法?

我想知道任何其他方法,但只使用 ansible-playbook 和库存文件。

【问题讨论】:

    标签: ansible ansible-inventory


    【解决方案1】:

    但是通过使用ansible-playbook,我无法从清单中选择特定主机。

    是的,你可以——执行ansible-playbook --help命令来显示帮助:

    Usage: ansible-playbook playbook.yml
    
    Options:
    
    <--- cut --->
    
      -l SUBSET, --limit=SUBSET
                            further limit selected hosts to an additional pattern
    
    <--- cut --->
    

    如果您想知道什么是模式——patterns 上有一个帮助页面。

    【讨论】:

    • 我怎么会错过这个?非常感谢。
    猜你喜欢
    • 1970-01-01
    • 2015-11-17
    • 2018-02-17
    • 2020-08-22
    • 2021-11-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-13
    相关资源
    最近更新 更多