自动化运维工具SaltStack企业级系列课程(第二章 SaltStack组件_管理对象)
Posted 连智波
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了自动化运维工具SaltStack企业级系列课程(第二章 SaltStack组件_管理对象)相关的知识,希望对你有一定的参考价值。
一. 管理对象(Target)
SaltStack 归根结底是要管理我们的服务器,服务器可以是一台或者多台,那我们应该如何去管理这些服务器呢?这里就提到了Target,Target可以是主机名,ip地址,
minionId等,也可以使多个主机名,一个IP地址段,为了方便管理,我们把这些信息统称为Target。
Target大体分为以下几类:
- 正则匹配
- 列表匹配
- Grains匹配
- 组匹配
- 复核匹配
- Pillar匹配
- CIDR匹配
正则匹配:
#现在已经配置好了两台minion : salt-minion 和salt-minion02
root@salt-master ~]# salt-key -L
Accepted Keys:
salt-minion
salt-minion02
Denied Keys:
Unaccepted Keys:
Rejected Keys:
#通过正则对minion操作
salt -E \'salt-minion*\' test.ping
salt-minion02:
True
salt-minion:
True
# salt-minion* 就是一个正则表达式,当然你可以根据具体需求来设计正则表达式
列表匹配:
salt -L \'salt-minion,salt-minion02\' test.ping # -L \'salt-minion,salt-minion02\' 就是一个列表,注意列表元素之间用逗号隔开
salt-minion02:
True
salt-minion:
True
Grains匹配:
# grains 负责minion第一次启动的时候采集的静态数据,后续课程会有具体的章节讲解grains
salt salt salt-minion grains.ls #查看某节点的所有grains
salt -G \'os:centos\' test.ping # os:centos就是minion节点的一对grains
salt-minion02:
True
salt-minion:
True
组匹配:
#需要提前在 master节点的配置文件中定义组信息
vim /etc/salt/master
nodegroups:
groups: \'L@salt-minion,salt-minion02\' #组名: groups , \'L@salt-minion,salt-minion02\' 定义了一个列表,列表中包含salt-minion,salt-minion02这两个节点
salt -N groups test.ping
salt-minion02:
True
salt-minion:
True
复合匹配:
#复合匹配支持使用and和or关联多个条件
salt -C \'G@os:centos or L@salt-minion02\' test.ping # grains为os:centos 的节点或者 列表为 salt-minion02的节点
salt-minion02:
True
salt-minion:
True
Pillar值匹配:
#pillar与grains类似,也是一组key:value的键值对,这里我们先放一放,后面pillar课程会详细讲解
salt -I \'key:value\' test.ping
CIDR值匹配:
#CIDR 指的是minion客户端的ip地址段,可以根据不同的形式来匹配ip地址
salt -S \'192.168.11.0/24\' test.ping #CIDR为192.168.11.0/24
salt-minion02:
True
salt-minion:
True
小结:
Target的参数匹配:
参数 | 匹配模式 | 例子 |
L | 列表 | L@minion01,minion02 |
G | Grains | G@os:centos |
E | 扩展正则 | E@minion0[1-3] |
I | Pillar | I@key:value |
S | CIDR | S@192.168.1.0/24 |
C | 复合 | G@os:centos or L@minion01,minion02 |
以上是关于自动化运维工具SaltStack企业级系列课程(第二章 SaltStack组件_管理对象)的主要内容,如果未能解决你的问题,请参考以下文章
Linux的企业-自动化运维工具Saltstack(grainspillar)
用开源自动化运维工具 SaltStack 在云平台中实现各主机统一配置管理
如何用开源自动化运维工具 SaltStack 在云平台中实现各主机统一配置管理