我需要从清单文件中抓取特定的子组,并在正确的剧本中正确使用它。
all:
children:
development:
children:
ntp_servers:
hosts:
ntp01:
ntp02:
services:
children:
chatbot:
children:
app:
hosts:
chatbot-app01:
chatbot-app02:
db:
hosts:
chatbot-db01:
chatbot-db02:
dice:
children:
app:
hosts:
dice-app01:
dice-app02:
db:
hosts:
dice-db01:
dice-db02:
dice-db03:
redis:
hosts:
dice-redis01:
dice-redis02:
例如,我想获取聊天机器人组的应用子组。 谁能给示例剧本如何引用chatbot.app组?
我曾经这样使用,但这似乎是错误的陈述。
- hosts: chatbot:app
roles:
- chatbot
答案 0 :(得分:0)
不可能直接实现您要实现的目标。您当前遇到的问题是主机组名称app
和db
重复出现,这会使您的结果产生偏差。
首先,您需要确保使用唯一的组名。例如:
all:
children:
development:
children:
ntp_servers:
hosts:
ntp01
ntp02
services:
children:
chatbot:
children:
chatbot_app:
hosts:
chatbot-app01:
chatbot-app02:
chatbot_db:
hosts:
chatbot-db01:
chatbot-db02:
dice:
children:
dice_app:
hosts:
dice-app01:
dice-app02:
dice_db:
hosts:
dice-db01:
dice-db02:
dice-db03:
dice_redis:
hosts:
dice-redis01:
dice-redis02:
然后,您可以根据自己的意愿参考父/子组。使用问题中的示例,您可以执行以下操作:
- hosts: chatbot_app
roles:
- chatbot
可以对您所有的组(开发,ntp_server,服务,聊天机器人,骰子等)执行相同操作