首页 文章

使用ansible-playbook选择特定的主机/主机组

提问于
浏览
2

使用 ansible-playbook 命令,我们可以为库存中的所有主机执行playbook,并且我有一个从web服务器中删除缓存的手册 . 但我不应该删除特定计算机上的缓存,除非开发人员要求这样做 .

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

另一种方法是为每个主机创建单独的库存文件,并按开发人员按请求的主机调用它们,我不知道这是多少推荐的方式 .

最后一个方法AFAIK通过Python使用 ansible.runner 并在hostname上使用模式并调用python程序 .

感谢您阅读我的长篇文章 .

除此之外,您是否知道在执行剧本时从库存中选择特定主机/主机组的其他方法?

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

1 回答

  • 5

    但是通过使用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上有一个帮助页面 .

相关问题