saltstack学习-4:分组
- 当服务器非常多的时候,就需要分组,分组的方法如下,常用分组已标记为红色。
letter | 含义 | 例子 |
G | Grains glob匹配 | G@os:Centos |
E | PCRE正则匹配minion_id | E@web\d+\.(dev|qa|prod)\.loc |
P | PCRE正则匹配Grains | P@os:(RedHat|Centos) |
L | minion_id列表 | L@vas01,vas02,vas03 |
I | pillar glob匹配 | I@pdata:foobar |
S | 子网/ip地址匹配 | S@192.168.1.0/24 or S@192.168.1.100 |
R | Range cluster匹配 | R@%foo.bar |
D | minion data匹配,需要定义data | D@key:value |
N | 组+组匹配 | N@group1 or N@group2 |
- 配置文件(/etc/salt/master),配置方法如下
[root@study02 ~]# vim /etc/salt/master ##### Node Groups ##### ########################################## # Node groups allow for logical groupings of minion nodes. A group consists of a group # name and a compound target. #nodegroups: # group1: 'L@foo.domain.com,bar.domain.com,baz.domain.com and bl*.domain.com' # group2: 'G@os:Debian and foo.domain.com' nodegroups: IPG: 'E@.*IPG*'
- 测试结果
[root@study02 ~]# salt -N IPG test.ping CWIPG2-1: True CWTerracottaIPG2-1: True CWTerracottaIPG2-2: True NWIPG1-1: True NWTerracottaIPG1-1: True CWTerracottaIPG1-1: True NWIPG2-1: True CWIPG1-1: True
总结:
- 分组配置可以在单独的配置文件配置
- 分组配置语法遵循YAML语言规范
yaml语法三大规则
规则一:缩进
yaml使用一个固定的缩进风格表示数据层结构关系,Saltstack需要每个缩进级别由两个空格组成。一定不能使用tab键
规则二:冒号
yaml:
mykey: my_value
每个冒号后面一定要有一个空格(以冒号结尾不需要空格,表示文件路径的模版可以不需要空格)
规则三:短横线
想要表示列表项,使用一个短横杠加一个空格。多个项使用同样的缩进级别作为同一个列表的一部分
my_dictionary:
- list_value_one
- list_value_two
- list_value_three
示例: