我尝试创建一个模板,它将使用mine.get
将领事服务器的IP地址检索为DNS。在命令行上,它似乎工作正常,但在模板上下文中使用时,它不会返回任何内容
这是我的设置
在/ srv / pillar我添加了mines.sls
并修改了top.sls
,如下所示
mines.sls
mine_functions:
network.ip_addrs: []
top.sls
base:
'*':
- mines
刷新支柱并使用mine.send
和mine.update
后,我可以从saltmaster服务器查询领事的IP地址
sudo salt 'redis*' mine.get 'consul*' network.ip_addrs
redis-001-stage.c.project-gce.internal:
----------
consul-001-adm.c.project-gce.internal:
- 192.16.0.1
consul-002-adm.c.project-gce.internal:
- 192.16.0.2
我尝试使用模板
在状态文件中应用相同的原则# Resolver Configuration
resolv-file:
file.managed:
- name: /etc/resolv.conf
- user: root
- group: root
- mode: '0644'
- source: salt://resolver/files/resolv.conf
- template: jinja
- defaults:
nameservers: {{ salt['mine.get']('*', 'network.ip_addrs', 'eth1').items() }}
和resolve.conf
{%- for nameserver in nameservers %}
nameserver {{ nameserver }}
{%- endfor %}
但是名字服务员总是空着,有人可以建议吗?