1:Grains是系统的一个组件,存放着minion启动时收集的系统底层的一些信息,每次minion启动的时候,会进行系统的采集,将其保存下来,在以后的生命周期中不会重新搜集,除非重启~

#查看grains搜集的所有的名称
salt 'node3.crazylinux.xyz' grains.ls
#查看grains搜集的所有的名称以及值
salt 'node3.crazylinux.xyz' grains.items
#获取fqdn名
salt 'node3.crazylinux.xyz' grains.get fqdn

2:Grains应用场景

  • grains可以在state系统中使用,用于配置管理模块
  • grains可以在target中使用,用来匹配Minion,比如操作系统,使用-G选项
  • grains可以用于信息查询,grains保存这收集到客户端的详细信息,可用作CMDB!

3:Grains应用示例(建议使用第二种方法)

  • 在node3Minion端自定义roles,共有两种方法
  • 1:写在/etc/salt/minion配置文件中
vim /etc/salt/minion
#修改内容如下
grains:
roles: apache
env:
- webserver
#在master端使用如下命令进行测试
salt 'node3.crazylinux.xyz' grains.get env
#返回结果如下
node3.crazylinux.xyz:
- webserver
salt 'node3.crazylinux.xyz' grains.get roles
#返回结果如下
node3.crazylinux.xyz:
apache
  • 2:写在/etc/salt/grains配置文件中
#直接定义角色名称和值就可以了,注意冒号后一定要有空格
cloud: openstack
#执行如下命令进行测试
salt 'node3.crazylinux.xyz' grains.get cloud
#返回结果如下
node3.crazylinux.xyz:
openstack
  • 3:此时我们可以用角色匹配来执行命令,此时我们可以灵活使用grains来进行远程执行
salt -G  roles:apache cmd.run 'uptime'
返回结果如下
node3.crazylinux.xyz:
23:04:21 up 5:45, 2 users, load average: 0.00, 0.01, 0.05
#也可以用来重启httpd服务
salt -G roles:apache cmd.run 'systemctl restart httpd'
  • 4:也可以使用内置的grains
#此时将同时匹配node2和node3,在所有centos的系统中执行一个命令
salt -G os:CentOS cmd.run 'uptime'
#返回结果如下
node3.crazylinux.xyz:
23:06:48 up 5:47, 2 users, load average: 0.00, 0.01, 0.05
node2.crazylinux.xyz:
01:55:55 up 5:55, 2 users, load average: 0.00, 0.01, 0.05

SaltStack数据系统-Grans详解的更多相关文章

  1. SaltStack数据系统-Pillar详解

    1:存储位置 存储在master端,存放需要提供给minion的信息 每个minion只能访问master分配给自己的(应用场景) 2:在centos7 salt 2015.5.10 (Lithium ...

  2. 2、自动化运维之SaltStack远程执行详解

    SaltStack远程执行详解 ●目标(Targeting) ●模块(Module) ●返回(Returnners) 混合模式-C 选项 主机名设置参照: redis-node1-redis03-id ...

  3. saltstack自动化运维系列⑤之saltstack的配置管理详解

    saltstack自动化运维系列⑤之saltstack的配置管理详解 配置管理初始化: a.服务端配置vim /etc/salt/master file_roots: base: - /srv/sal ...

  4. saltstack源码详解一

    目录 初识源码流程 入口 1.grains.items 2.pillar.items 2/3: 是否可以用python脚本实现 总结pillar源码分析: @(python之路)[saltstack源 ...

  5. Python3安装使用SaltStack以及salt-api详解

    序言 最近在使用salt-api做主机批量管理部署,整理一下文档.之前使用saltstack 多用于命令行管理,自己做web版的自动化管理平台时,发现命令行的些许局限性,接触到salt-api,找到了 ...

  6. Saltstack Master 配置文件详解

    #主配置 /etc/salt/master interface 默认值:0.0.0.0(所有的网络地址接口) 绑定到本地的某个网络地址接口 interface: 192.168.30.131 publ ...

  7. Saltstack 安装配置详解

    下面这篇文章主要介绍另外一个运维自动化工具 Saltstack . 一.简介 Saltstack 比 Puppet 出来晚几年,是基于Python 开发的,也是基于 C/S 架构,服务端 master ...

  8. SaltStack安装配置详解

    一.简介 Saltstack 比 Puppet 出来晚几年,是基于Python 开发的,也是基于 C/S 架构,服务端 master 和客户端 minions :Saltstack 和 Puppet ...

  9. 【05】Saltstack:配置详解

    写在前面的话 上一节迷迷糊糊的说了一下配置管理,这一节主要谈谈我们常见的一些操作如何将他转换成配置文件的形式来实现.这样的好处在于,我们可以一次编写到处使用,不用每次再去编写复杂的命令. 配置回顾 在 ...

随机推荐

  1. tick 能见度

    1.生成图形 当图片中的内容较多,相互遮盖时,可以通过设置相关内容的透明度来使图片更易于观察,也即是通过本节中的bbox参数设置来调节图像信息. import matplotlib.pyplot as ...

  2. AndroidStudio 3 export jar file

    1.  File -> New -> New Module -> Android Library  例子中暂命名ModuleA 2. 修改刚创建 ModuleA下的build.gra ...

  3. Python3个人学习笔记--每天一点一滴成长!

    简单的while循环:输入一个数字,while获取该数字,并输出该数字. 例子:猜幸运数字是多少? lucky_num = int(input("number:")) a = 0 ...

  4. Mac下Tomcat安装与Intellij IDEA配置Tomcat

    Mac下Tomcat安装与Intellij IDEA配置Tomcat 一 安装 1 下载地址:https://tomcat.apache.org/download-90.cgi 2 将压缩包解压后移至 ...

  5. RDS MySQL InnoDB 锁等待和锁等待超时的处理

    https://help.aliyun.com/knowledge_detail/41705.html 1. Innodb 引擎表行锁等待和等待超时发生的场景 2.Innodb 引擎行锁等待情况的处理 ...

  6. SAS数据集

    SAS数据集是存储在SAS逻辑库中.由SAS创建和处理的SAS文件,是SAS存储数据的主要方式.SAS数据集包含以表的观测(行)和 变量(列)为形式存在的数据值,以及用以描述变量类型.长度和创建该数据 ...

  7. sock5协议转换http协议工具polipo使用笔记(Centos7)

    一.安装 Shadowsocks使用socks5协议,而终端很多工具目前只支持http和https等协议,所以我们为终端设置Shadowsocks的思路就是将socks5协议转换成http协议,然后为 ...

  8. Python基础整理

    第一章 Python介绍 1.3 基本类型 操作符 +,-,*,/,%,**(幂),divmod(除法) divmod(10,3)=(3,1) None表示出错 表示假: None,0,0.0,&qu ...

  9. Unittest中TestCase类中定义的几个特殊方法

    1.setUp():每个测试方法运行前运行,测试前的初始化工作: 2.tearDown():每个测试方法运行结束后运行,测试后的清理工作: 3.setUpClass():所有的测试方法运行前运行,单元 ...

  10. js- DOM事件之按钮绑定函数注意事项

    <!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8&qu ...