mine是salt定义数据的第三种方式,是在minion配置中定义的,然后数据发送到master存储。如果从minion获取的数据需要在其他minion中使用,就需要使用到mine。
在minion.d中定义mine.conf文件,内容如下
同步文件
salt-cp '*' mine.conf /opt/app/salt/etc/minion.d/
重启minion
salt '*' cmd.run '/opt/app/salt/admin/salt-minion restart'
执行如下命令,结果如图
salt '*' mine.get '*' network.ip_addrs
因为所有数据是共享的,两个minion获取的数据是一样的。
总结
说了这么多,那究竟在什么情况下该使用哪种数据定义方式呢?前面的文章也谈了区别,现在在这里总结下。
区别:
grains和mine是从minion端收集的,pillar是从master端收集的。
grains数据是静态的,mine和pillar的数据是动态的。
grains数据是每个minion的底层系统数据,不共享的;mine数据是自定义的,是共享的;
pillar数据是master的数据,应用于每个minion。
现在有三个需求:
获取master的广播地址并应用于minion---->采用pillar
获取和master同网段的minion的ip---->采用grains(结合第一个需求)
获取A的信息并在其他minion中使用---->使用mine
转载于:https://blog.51cto.com/liuping0906/1421457