saltstack学习-7:grains,states,YAML

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
重启minion
[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的表现形式是冒号下面的每一行,用一个空格隔开。
  • 列表:想要表示列表项,使用一个短横杠加一个控制。多个项使用相同的缩进级别作为同一列表的一部分。

官方网址:http://docs.saltstack.cn/topics/yaml/index.html

posted @ 2018-01-07 00:07  snailshadow  阅读(271)  评论(0编辑  收藏  举报