解释在 salt-state 中使用 mine.get
Explain using mine.get inside a salt-state
谁能给我一个白痴解释以下是如何工作的:
{% for server, addrs in salt['mine.get']('roles:web', 'network.ip_addrs', expr_form='grain') | dictsort() %}
server {{ server }} {{ addrs[0] }}:80 check
{% endfor %}
支柱文件如下所示:
mine_functions:
network.ip_addrs: [eth0]
salt 为前两个值 server
和 addrs
分配了什么?
您将如何在上面使用多个地雷选项?也就是说,如果你的 pillar 文件有一个额外的 mine 函数,就像这样:
mine_functions:
network.ip_addrs: [eth0]
role:
- mine_function: grains.get
- role
然后您如何访问第一个代码片段中的角色函数?
希望这是有道理的
我的
在你的 pillar 中定义的 mine 函数告诉 minions 将一些关于它们的信息推送给 salt master。然后你可以使用 mine.get
从任何 minion 访问它。这记录在 this page.
中
mine.get
首先,你可以自己看看mine.get
结果:
salt 'minion0' mine.get 'roles:web' 'network.ip_addrs' expr_form='grain'
minion0:
----------
minion1:
- ip1
- ip2
minion2:
- ip
所以你得到了一个字典,键是 minions id,值是网络 ip 地址列表。 dictsort()
函数在传递给循环变量之前对键进行排序。
你最终得到 server
包含 minion id 和 addrs
它的 IP 地址列表。
第一个参数过滤你想要获取哪些minions数据,第三个参数(expr_form
)是这个过滤器的过滤类型。您可以使用 glob
、grain
、compound
,基本上任何 salt targeting.
现在,要访问 role
挖掘的数据,您只需将 network.ip_addrs
替换为 role
。
谁能给我一个白痴解释以下是如何工作的:
{% for server, addrs in salt['mine.get']('roles:web', 'network.ip_addrs', expr_form='grain') | dictsort() %}
server {{ server }} {{ addrs[0] }}:80 check
{% endfor %}
支柱文件如下所示:
mine_functions:
network.ip_addrs: [eth0]
salt 为前两个值 server
和 addrs
分配了什么?
您将如何在上面使用多个地雷选项?也就是说,如果你的 pillar 文件有一个额外的 mine 函数,就像这样:
mine_functions:
network.ip_addrs: [eth0]
role:
- mine_function: grains.get
- role
然后您如何访问第一个代码片段中的角色函数?
希望这是有道理的
我的
在你的 pillar 中定义的 mine 函数告诉 minions 将一些关于它们的信息推送给 salt master。然后你可以使用 mine.get
从任何 minion 访问它。这记录在 this page.
mine.get
首先,你可以自己看看mine.get
结果:
salt 'minion0' mine.get 'roles:web' 'network.ip_addrs' expr_form='grain'
minion0:
----------
minion1:
- ip1
- ip2
minion2:
- ip
所以你得到了一个字典,键是 minions id,值是网络 ip 地址列表。 dictsort()
函数在传递给循环变量之前对键进行排序。
你最终得到 server
包含 minion id 和 addrs
它的 IP 地址列表。
第一个参数过滤你想要获取哪些minions数据,第三个参数(expr_form
)是这个过滤器的过滤类型。您可以使用 glob
、grain
、compound
,基本上任何 salt targeting.
现在,要访问 role
挖掘的数据,您只需将 network.ip_addrs
替换为 role
。