【发布时间】:2016-08-12 17:19:00
【问题描述】:
简单的问题。我正在尝试在 Ansible 中部署 MongoDB,并且我的清单 (/ansible/hosts) 文件中有 20 个副本集的列表 - 40 个复制服务器,每个集有 1 个仲裁器。我现在拥有rep_sets:children 的方式不起作用,我假设这是因为您可以使用[x:y] 上下文列出主机名,但不能列出实际的组。
# The site wide list of mongodb servers
# Mongo Replica Servers
[rep_servers]
mrep[1:40]
# Mongo Query Routers
[query_routers]
mqr[1:3]
# Mongo Config Servers
[config_servers]
mcfg[1:3]
# Mongo Arbiter Servers
[arb_servers]
marb[1:5]
# All the replica sets (1-20)
[rs1]
mrep1
mrep21
.
.
.
[rs20]
mrep20
mrep40
[rep_sets:children]
rs[1:20]
那么,有没有办法将他们全部列为孩子,而不必在我只是错过的rep_sets:children 组下写出每一个?
【问题讨论】:
-
你能不能把它指向一个循环遍历 group_vars 目录中 jinja2 文件中所有主机的变量?我知道只列出孩子下的所有 20 个副本集组并不难,但我只是想让它看起来更干净。
标签: mongodb deployment ansible