自动化运维工具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 在云平台中实现各主机统一配置管理

自动化运维Saltstack系列之基础功能篇

dW 编辑推荐:自动化运维工具 SaltStack 在云计算环境中的实践

线上交流|自动化运维工具比较与实践