Ansible 在继续运行手册的其余部分之前,如何将有关远程主机的自定义事实存储在一起?
我正在用Ansible编写一个集群供应剧本,要求每个节点在安装时配置其他节点的公共证书。我想不出一个简单的方法来告诉ansible:Ansible 在继续运行手册的其余部分之前,如何将有关远程主机的自定义事实存储在一起?,ansible,ansible-facts,Ansible,Ansible Facts,我正在用Ansible编写一个集群供应剧本,要求每个节点在安装时配置其他节点的公共证书。我想不出一个简单的方法来告诉ansible: 去拿远程证书 把他们推到名单上 使这些证书摘要可供每个远程节点使用,以生成经授权的节点列表 目前,考虑到集群节点的数量很少,我将手工完成这项工作(将第一个剧本的输出复制到第二个剧本的变量中)但如果有一种方法可以在一个剧本中做到这一点,那将是非常有帮助的。我的回答将尽可能笼统:将一个事实存储在组中的一台特定机器上,并从另一台机器读取组中所有机器的该事实 我想当然地认
目前,考虑到集群节点的数量很少,我将手工完成这项工作(将第一个剧本的输出复制到第二个剧本的变量中)但如果有一种方法可以在一个剧本中做到这一点,那将是非常有帮助的。我的回答将尽可能笼统:将一个事实存储在组中的一台特定机器上,并从另一台机器读取组中所有机器的该事实
my_node\u group
- name: example loop to access 'my_info` on each machines of group `my_node_group`
debug:
var: item
loop: >-
{{
groups['my_node_group']
| map('extract', hostvars, 'my_info')
| list
}}
- 获取组中的机器
my\u node\u组
- 将这些名称用于on
并获得相应事实哈希列表,其中仅保留hostvars
属性my_info
- 将返回的映射对象转换为列表,并在其上循环
- name: example loop to access 'my_info` on each machines of group `my_node_group`
debug:
var: item
loop: >-
{{
groups['my_node_group']
| map('extract', hostvars, 'my_info')
| list
}}