ansible playbook主机,是否有按变量筛选的方法
我是ansible的新手,如果我的问题有点基本的话,请容忍我 我有10个不同主题的WordPress网站,它们都列在“生产”组下的主机文件中:ansible playbook主机,是否有按变量筛选的方法,ansible,ansible-playbook,Ansible,Ansible Playbook,我是ansible的新手,如果我的问题有点基本的话,请容忍我 我有10个不同主题的WordPress网站,它们都列在“生产”组下的主机文件中: [production] black.com red.com blue.com 每个站点需要不同的变量: theme_name: black 我是否可以使用变量在“生产”主机组上运行剧本?您无法轻松*按变量筛选。但您可以将主机添加到其他组,如: [production] black.com red.com blue.com [black] b
[production]
black.com
red.com
blue.com
每个站点需要不同的变量:
theme_name: black
我是否可以使用变量在“生产”主机组上运行剧本?您无法轻松*按变量筛选。但您可以将主机添加到其他组,如:
[production]
black.com
red.com
blue.com
[black]
black.com
[red]
red.com
[blue]
blue.com
现在为主题名创建一个组vars files。例如,为红色组创建文件group\u vars/red
,内容如下:
theme_name: red
现在,您可以使用黑色
、红色
和蓝色
组运行游戏手册
*我想有一种方法,在
hostvars
dict上运行过滤器,并将其简化为符合您的条件的主机名列表。但这似乎是间接的,而且违背了最佳实践。如果您想针对一组特定的主机,您应该在资源清册中为它们设置一个组。不确定您的问题是否完全清楚,但您的问题的另一个可能答案可能是:
您可以将变量直接分配给资源清册中的主机或组,这里有一个很好的介绍,介绍了如何实现这一点
示例摘自页面,主机条目后定义的变量:
[atlanta]
host1 http_port=80 maxRequestsPerChild=808
host2 http_port=303 maxRequestsPerChild=909
这对于少量主机应该可以很好地工作,尽管在大规模工作时有更好的方法
哈。@boazbarkan,你最好投它一票,而不是说谢谢。