我正在尝试为repcached memcached创建一个模板。 这包含一行如下
OPTIONS="-x 192.168.XXX.XXX -X 11212"
其中192.168.XXX.XXX是清单组中的2个条目之一。
基本上在2节点设置中,需要将节点配置为指向其库存组中的其他节点。
我一直在努力尝试使用jinja2模板(inventory_group - inventory_host),因为这会给我所需的值,但我似乎无法找到有效的语法。
有人有什么建议吗?
答案 0 :(得分:0)
使用列表可能会让你走得很远。我不确定这是正确的方法。值得注意的是,-
运算符并未从列表中删除项目(有趣的是,+
可以连接列表,从而将项目添加到列表中)。
这就是说,我建议你在你的模板中照顾这个,就像这样(假设这个组叫做repcached):
{% for h in groups['repcached'] -%}
{% if h != inventory_hostname %}
OPTIONS="-x {{ hostvars[h]['ansible_default_ipv4']['address'] }} -X 11212"
{% endif %}
{% endfor %}
如果您想从其他来源获取IP地址,可能需要调整['ansible_default_ipv4']['address']
部分(请参阅ansible repcached -m setup
输出以查看可用选项)。
当然,这只适用于repcached
组中只有两台服务器的情况。如果组中的项目数不是2,您可以通过在游戏手册中拯救来添加安全措施。