关于grains

Grains是SaltStack的一个组件,存放在SaltStack的minion端,当salt-minion启动时会把收集到的数据静态存放在Grains当中,只有当minion发生过重启时才会进行数据的更新

列出SaltStack默认支持的Grains

以服务器test22为例:

[root@test11 ~]# salt 'test22' grains.ls 
test22:
    - SSDs
    - biosreleasedate
    - biosversion
    - cpu_flags
    - cpu_model
    - cpuarch
    - disks
    - dns
    - domain
    - fqdn
    .
    .
    .

查看所有项的值:

[root@test11 ~]# salt 'test22' grains.items
test22:
    ----------
    SSDs:
    biosreleasedate:
        12/01/2006
    biosversion:
        VirtualBox
    cpu_flags:
        - fpu
        - vme
        .
        .
    cpu_model:
        Intel(R) Core(TM) i5-4570 CPU @ 3.20GHz
    .
    .

查看单独项的值:

[root@test11 ~]# salt 'test22' grains.item cpu_model
test22:
    ----------
    cpu_model:
        Intel(R) Core(TM) i5-4570 CPU @ 3.20GHz

匹配mininon

[root@test11 ~]# salt -G 'os:CentOs' cmd.run 'uptime'
test33:
     14:52:08 up 1 day,  3:40,  1 user,  load average: 0.00, 0.01, 0.05
test22:
     14:52:08 up 1 day,  3:40,  1 user,  load average: 0.04, 0.04, 0.05

自定义grains的item

在服务器test22的minion.d目录下添加一个nginx标签文件,并重启minion端:

[root@test22 ~]# vi /etc/salt/minion.d/nginx.conf 
grains:
  roles:
    - webserver
    - nginx

在master端测试自定义的item有没有生效:

[root@test11 ~]# salt -G 'roles:nginx' cmd.run 'uptime'         
test22:
     15:01:21 up 1 day,  3:49,  1 user,  load average: 0.00, 0.01, 0.05
文档更新时间: 2019-05-28 15:07   作者:子木