saltstack学习2-分组

当服务器有很多的时候,有必要进行分组,以下为分组的方法,常用的已标红。

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

 

master上修改配置文件/etc/salt/master

注意yaml文件格式,下边组名前边有2个空格,冒号后边有一个空格,不能用tab
nodegroups:
  node2-3: 'L@linux-node2.example.com,linux-node3.example.com'
  node4: 'L@linux-node4.example.com'
  ip2-3: 'S@192.168.1.62 or S@192.168.1.63'
  ip4: 'S@192.168.1.64'

 

这里用了两种分组方法,L和S,注意文件格式。L的ID就是每个服务器的主机名。修改后重启master服务:

systemctl restart salt-master.service

然后进行测试:

[root@linux-node1 salt]# salt -N node2-3 test.ping
linux-node2.example.com:
    True
linux-node3.example.com:
    True
[root@linux-node1 salt]# salt -N ip2-3 test.ping          
linux-node3.example.com:
    True
linux-node2.example.com:
    True
[root@linux-node1 salt]# salt -N ip4 test.ping  
linux-node4.example.com:
    True
[root@linux-node1 salt]# salt -N node4 test.ping  
linux-node4.example.com:
    True

 

上一篇:Springboot-实现加密


下一篇:基于Saltstack批量部署apache