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. 31.Mysql复制

    31.Mysql复制复制是指将主数据库的DDL和DML操作通过二进制日志传到从数据库上,然后在从数据库上对重做日志,从而使从库与主库保持同步.Mysql支持一台主库同时向多台从库复制,从库也可以作为其 ...

  2. Scatter 散点图

    散点图 首先,先引入matplotlib.pyplot简写作plt,再引入模块numpy用来产生一些随机数据.生成1024个呈标准正态分布的二维数据组 (平均数是0,方差为1) 作为一个数据集,并图像 ...

  3. nodeJS实现一个在线填表应用

    1.构建一个web服务器 以前玩php和jsp时用过Apache.汤姆猫服务器,nodejs则有不同,他是需要自己createServer. //server.jsvar http = require ...

  4. android-基础编程-ToolBar

    Android 3.0  Android 推了 ActionBar 这个控件,而到了2013 年 (4.0)Google 开始大力地推动所谓的 android style,material desig ...

  5. esp32的GPIO操作

    对于任何一款芯片,GPIO接口是其最基本的组成部分,也是一款芯片入门的最基本操作,下面论述下 关于esp32开发版的GPIO操作,本文中重点讲解下 关于如何创建eclipse工程,并通过eclipse ...

  6. Vuejs——(3)计算属性,样式和类绑定

    版权声明:出处http://blog.csdn.net/qq20004604   目录(?)[+]   先上总结: (十九)标签和API总结(2) vm指new Vue获取的实例 ①当dom标签里的值 ...

  7. cf 20C Dijkstra?

    带队列  dijkstra #include <iostream> #include <cstdio> #include <queue> #include < ...

  8. SDWebImage之SDWebImageCompat

    SDWebImageCompat 是SDWebImage 的配置文件,里面利用条件编译对Apple 的各个平台进行了兼容.从源码中可以看到SDWebImage 支持当前的MAC/iOS/TV/WATC ...

  9. KeepAlived+Nginx 安装

    yum install -y gcc gcc-c++ openssl openssl-devel 目前keepalived最新版本下载:[root@rhel ~]#wget -c http://www ...

  10. Unity3d让某个物体一直正对着相机

    //将以下代码绑定到相机上 using UnityEngine; using System.Collections;   public class LookatScipt : MonoBehaviou ...