Salt Stack - Grains

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zhaoruda/article/details/89042867

数据系统 - 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机器。

猜你喜欢

转载自blog.csdn.net/zhaoruda/article/details/89042867
今日推荐