grains
grains主要负责采集客户端的一些基本信息,这个也可以完全自定义。可以在客户端自定义,然后自动汇报上来;也可以从服务端定义,然后推下去,采集完后,再汇报上来;pillar根grains比较的话它更灵活。
grains的使用:
查看
[root@study02 file]# salt ‘vas01‘ grains.ls 查看minion所有的grains的名称 [root@study02 file]# salt ‘vas01‘ grains.items 列出所有grains名称和对应的值 [root@study02 file]# salt ‘vas01‘ grains.item os 列出指定的grains的名称和值
匹配
[root@study02 file]# salt -G ‘uuid:421fa146-86f4-47c1-adc9-0e21d5bad8c8‘ test.ping vas01: True
自定义grains,在minion端修改配置文件,在文件结尾增加如下配置:
[root@study02 file]# vim /etc/salt/minion grains: roles: - webserver - memcache deployment: datacenter cabinet: 13
[root@study02 file]# /etc/init.d/salt-minion restart Stopping salt-minion daemon: [确定] Starting salt-minion daemon: [确定]
查看自定义的grains是否生效
[root@study02 file]# salt ‘study02‘ grains.items . . . deployment: datacenter . . . roles: - webserver - memcache . . .
STATES
salt状态系统的核心是sls,或者叫**S** aLt State文件,SLS表示系统将会是什么样的一种状态,而且是以一种简单的格式来包含这些数据。这些也被叫做配置管理。
SLS文件实际上只是一些:词典(dictionaries),列表(lists),字符串和数字。
官方网址:https://docs.saltstack.com/en/latest/ref/states/all/
YAML语法
- 缩进:YAML使用一个固定的缩进风格表示数据层结构关系。Salt需要每个缩进级别由两个空格组成。不要使用tab。
- 字典:Python的字典是简单的简直对。字典的keys在YAML中表现形式是以冒号结尾的字符串。values的表现形式是冒号下面的每一行,用一个空格隔开。
- 列表:想要表示列表项,使用一个短横杠加一个控制。多个项使用相同的缩进级别作为同一列表的一部分。