但是通过使用ansible-playbook
,我无法从目录中挑选特定的主机。但是我可以使用一些语法,如ansible-playbooksomebook.play-i hostname,
,但是它查找DNS条目并相应地执行,但是不会检查目录文件。
另一种方法是为每个主机创建单独的目录文件,并由开发人员根据请求的主机调用它们,我不知道这是多少推荐的方法。
最后一个方法是AFAIK通过Python使用ansible.runner
,在主机名中使用模式并调用Python程序。
除了这些,您还知道在执行剧本时从目录中选择特定主机/主机组的其他方法吗?
我想知道任何其他方式,但通过使用只有ansible-playbook和库存文件。
但是通过使用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部署脚本。我希望通过我的库存文件中的每个主机顺序工作,这样我就可以一次完全部署到一台机器上。 谢谢