微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Salt Stack - Grains

数据系统 - Grains

Grains是Salt的组件,在minion启动时收集信息。

Grains查看命令

salt '*' grains.ls //查看内容
salt '*' grains.items //查看内容和值
salt '*' grains.get name //查看名为name的grains

可以看到grains中包含了minion的配置信息,比如ip地址、操作系统等。

Grains的使用

命令中使用

salt -G os:Nginx test.ping

这里使用-G来指定在os值为Nginx的target中运行test.ping。由于我们安装的操作系统为ubuntu,所以命令返回为:

No minions matched the target. No command was sent, no jid was assigned.

将os改为Ubuntu:

salt -G os:Nginx test.ping

可以得到相应的返回值。

在sls文件中使用

修改top.sls文件为:

base:
    'os:Ubuntu'
        - match: grain
        - Nginx

这里使用grains来匹配target,所以必须执行match为grain。

自定义Grains

由于Grains是收集的minion的信息,所以自定义Grains需要在minion在进行。
编辑/etc/salt/minion文件,这里将grains注释去掉

grains:
  roles:
    - webserver
    - memcache

重启salt-minion,并运行salt ‘*’ grains.get roles来查看grains。

Grains应用场景

  • Grains可以在state系统中使用,用于配置管理模块
  • Grains可以在target中使用,用来匹配Minion,比如使用操作系统,使用-G选项
  • Grains可以用于信息查询,Grains保存着收集到的客户端信息。可以将这些信息保存在数据库中并自定义页面
    来管理minion机器。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐