saltstack学习-4:分组

  • 当服务器非常多的时候,就需要分组,分组的方法如下,常用分组已标记为红色。
letter 含义 例子
G Grains glob匹配 G@os:Centos
E PCRE正则匹配minion_id E@webd+.(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

示例:

image

原文地址:https://www.cnblogs.com/snailshadow/p/8214294.html