四、saltstack如何管理对象?

实验前环境:

[[email protected] ~]# salt-key -L
[[email protected] ~]# salt-key -a super65.cn -y

salt管理对象简介:

saltstack管理的对象叫做target。

管理的对象很多是我们需要对不同的对象进行分类。saltstack是如何做到分类的呢?

saltstack管理对象时能够做到自动化还是要依赖对象的ID的,所有在前期规划好target的ID是非常重要的。

1、正则匹配

[[email protected] ~]# salt -E "super.*" test.ping
super66:
  True
super65.cn:
  True

[[email protected] ~]# salt -E "super.*cn$" test.ping
super65.cn:
  True

2、列表匹配

[[email protected] ~]# salt -L super66,super65.cn test.ping
super66:
  True
super65.cn:
  True
[[email protected] ~]# salt -L super66 test.ping
super66:
  True

3、Grians匹配

[[email protected] ~]# salt -G "os:CentOS" test.ping
super66:
  True
super65.cn:
  True

grians是saltsatack自定义记录minion静态信息的组件(比如记录cpu、内存、、)。

查看grians帮助:

[[email protected] ~]# salt ‘super66‘ sys.doc grains

4、组匹配

定义组(需要在master配置文件中定义)

[[email protected] ~]# salt -N group1 test.ping
super66:
  True
[[email protected] ~]# salt -N group2 test.ping
super66:
  True
super65.cn:
  True

5、CIRD匹配

[[email protected] ~]# salt -S "192.168.1.0/24" test.ping
super66:
  True
super65.cn:
  True

6 、复合匹配(支持上面的匹配规则用and 、or关联)

7 、Pillar值匹配(Pillar系统中可以自定义键值对)

时间: 2024-10-07 04:43:59

四、saltstack如何管理对象?的相关文章

Saltstack 服务器基本安装

Salt介绍 Salt是一个基础平台管理工具 Salt是一个配置管理系统,能够维护预定义状态的远程节点 Salt是一个分布式远程执行系统,用来在远程节点上执行命令和查询数据 Salt核心功能 使命令发送到远程系统是并行的而不是串行的 使用安全加密的协议 使用最小最快的网络载荷 提供简单的编程接口 Salt有点 Saltstack是用python语音编写 相当于设备是轻量级别的 Saltstack通讯采用ZEROMQ实现使得它很快速 Saltstack是开源的 通过python可以自己写模块 Sa

SaltStack使用

一. SaltStack基本使用方法 二. SaltStack的命令行工具 三. SaltStack的远程执行命令 四. SaltStack的模块 Grains Grains 是minion启动的时候采集的系统静态,包括CPU,操作系统,文件系统,硬盘等等 显示所有Grains信息分类:salt '*' grains.ls 显示所有静态信息:salt '*' grains.items Grains应用场景 1. 获取系统信息 2. 用于分类查找minion 3. 与其他模块结合完成更灵活的min

saltstack 系列(四)centos7使用saltstack源码安装nginx

使用saltstack源码安装nginx,首先先看一下我nginx的目录  tree一下,我们只需要关系nginx-install.sls 和nignx-service.sls.clu-vhost是我用python写的自动添加集群和自动更新踢出集群,后面会讲到. nginx ├── files │   ├── clu-vhost │   │   ├── 11.py │   │   ├── content.txt │   │   ├── epel-release-latest-7.noarch.r

自动化运维Saltstack系列(四)之States配置管理和jinja模板的使用

States配置管理 States是Saltstack中的配置语言,在日常进行配置管理时需要编写大量的States SLS文件,而编写这些SLS文件的一般步骤也就是我们平时手动配置一台服务器的步骤:首先安装源码包,然后管理一个配置文件,最后再保证这个服务的开机启动及正常运行.其中使用到的states模块功能需要我们一边学习一边实践加强理解. 接下来,我们通过一个简单的例子来理解Saltstack配置管理的基本原理--安装keepalived 1)修改master配置文件的file_roots根目

SaltStack(四) 配置管理

一.配置管理 Salt使用State模块文件进行配置管理,使用YAML编写,以.sls结尾,如果进行配置管理首先需要再Master的配置文件中指定"file roots"的选项,Salt支持的环境的配置,比如开发环节.测试环境.生产环境,但是base环境时必须的,而且base环境必须包含入口文件top.sls 第一步:设置file_roots 修改Master配置文件,指定Flie_roots [[email protected]-server ~]# vim /etc/salt/ma

saltstack 自动化运维神器(四)salt-ssh

satlstack号称自动化运维的利器,那么saltstack能不能实现自身的批量部署呢?如果你也有这样的疑问,那么就更要看这篇文章了.答案当然是肯定的啦!saltstack可以利用salt-ssh来实现自身的批量部署.首先看待salt-ssh,很容易想到它是一个依赖 ssh 来进行远程命令执行的工具,这样做的好处是你不必在客户端安装minion程序,就可以实现远程命令的执行,而且salt-ssh支持salt的绝大部分功能. 10.10.10.4      salt-master    os:r

Saltstack远程执行(四)

Saltstack远程执行 语法例:salt '*' cmd.run 'w' -  命令:salt -  目标:'*' -  模块:cmd.run,自带150+模块,也可以自己写模块 -  返回:执行后结果返回,Returnners组件 1.指定目标(targeting) 官网文档:https://docs.saltstack.com/en/latest/topics/targeting/index.html 两种定位方法:一种和minion ID有关,一种和monion ID无关 1)mini

SaltStack使用教程(四):服务管理

介绍 centos上salt管理服务是通过service管理的,所以你的服务必须有在service注册切在salt调用的时候名字和rc或init下的脚本一致,否则是无法管理. 命令行操作 salt '*' service.reload <service name> salt '*' service.< reload | restart | start | stop | status | enabled > <service name> < 平滑重启 | 重启 |

运维自动化之Saltstack(四)Returners(返回)

Returners: 默认是标准输出到屏幕 当然可以输出到其他目标,如: mysql redis 这里说一下将Returners写入到Mysql 方法一: 在每个minion端安装软件包MySQL-python ,让每个minion主机自己把其返回的信息写入数据库 在每个minion端的主机主配置文件中添加如下内容: tail    /etc/salt/minion mysql.host: '192.168.124.1'   # Myslq Server 的IP地址 mysql.user: 's