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. 如何建一个maven项目

    使用Maven创建web项目 1.打开Eclipse, 选择File -> New -> Other,在New窗口中选择 Maven -> Maven Project:点击Next. ...

  2. linux kernel notifier chain(事件通知链)

    Linux内核中各个子系统相互依赖,当其中某个子系统状态发生改变时,就必须使用一定的机制告知使用其服务的其他子系统,以便其他子系统采取相应的措施.为满足这样的需求,内核实现了事件通知链机制(notif ...

  3. Java多线程系列4 线程交互(wait和notify方法)

    wait()/ notify()/ notifyAll() 任何Object对象都可以作为这三个方法的主调,但是不推荐线程对象调用这些方法. 1使用wait().notify()和notifyAll( ...

  4. Mac 电脑设置显示路径

    # 设置 defaults write com.apple.finder _FXShowPosixPathInTitle -bool TRUE;killall Finder # 删除 defaults ...

  5. zabbix简介与部署

    zabbix介绍 zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案. zabbix能监视各种网络参数,保证服务器系统的安全运营:并提供灵活的通知机制以让系统管 ...

  6. pycharm 2017最新激活码

    BIG3CLIK6F-eyJsaWNlbnNlSWQiOiJCSUczQ0xJSzZGIiwibGljZW5zZWVOYW1lIjoibGFuIHl1IiwiYXNzaWduZWVOYW1lIjoiI ...

  7. C#中Equals()和= =(等于号)区别

    在这里,首先得告诉大家,在C#中,不管是 == ,还是 Equals() 我们都是可以重写的.所以,在具体选择使用两者时,还是得根据这两个方法的具体实现逻辑来选择. 值类型的比较 对于值类型来说,两者 ...

  8. python中global和nonlocal用法的详细说明

    一.global 1.global关键字用来在函数或其他局部作用域中使用全局变量.但是如果不修改全局变量也可以不使用global关键字.   gcount = 0 def global_test(): ...

  9. hdu 1290_献给杭电五十周年校庆的礼物

    Description 或许你曾经牢骚满腹或许你依然心怀忧伤或许你近在咫尺或许你我天各一方 对于每一个学子母校 永远航行在生命的海洋 今年是我们杭电建校五十周年,这是一个值得祝福的日子.我们该送给母校 ...

  10. 向Word添加一段文本

    文档层次结构 [段落之后] 是一段连续文本,它定义具有一组常见属性的文本区域.一段连续文本由 r 元素表示,这样创建器便可组合换行.样式或格式设置属性,从而将相同信息应用于一段连续文本的所有部分. 正 ...