当前位置: 首页 > 知识库问答 >
问题:

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

屈昊天
2023-03-14

但是通过使用ansible-playbook,我无法从目录中挑选特定的主机。但是我可以使用一些语法,如ansible-playbooksomebook.play-i hostname,,但是它查找DNS条目并相应地执行,但是不会检查目录文件。

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

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

除了这些,您还知道在执行剧本时从目录中选择特定主机/主机组的其他方法吗?

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

共有1个答案

景鸿晖
2023-03-14

但是通过使用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 --->

如果你想知道什么是模式--有一个关于模式的帮助页面。

 类似资料:
  • Playbook是指一个可被ansible执行的yml文件,一般的结构如下面的例子所示: --- - hosts: web remote_user: root tasks: - name: ensure apache is at the latest version yum: pkg=httpd state=latest 其实在一个Playbook文件中还可以有针对两组serv

  • 我希望使用运行测试,但只能针对主机服务器1。有办法做到这一点吗?

  • 学习如何使用ansible--我需要为集群部署准备服务器。 在所有节点上安装相同的程序集,依此类推。这部分没有问题,一切都解决了。我是通过Ansible-Playbook来做的。在每个节点上,需要在文件/etc/sysconfig/network中执行 也许一些建议,帮忙?

  • 我一直试图使用Ansible Playbook将主机名添加到我的主机文件中。我的Ansible播放如下所示,我的主机文件位于: Playbook成功执行,但新主机名没有添加到Ansible hosts文件中。有人能帮我吗?

  • 有没有办法让这起作用?修改IP地址(例如)是可以接受的。 我考虑过的事情: > 打开它,并根据IP地址标识所有主机:

  • 我正在使用ansible编写API部署脚本。我希望通过我的库存文件中的每个主机顺序工作,这样我就可以一次完全部署到一台机器上。 谢谢