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. webserver

    1. 控制台,浏览器输入http://localhost:8080/ using System; using System.Collections; using System.IO; using Sy ...

  2. 《C#从现象到本质》读书笔记(五)第5章字符串第6章垃圾回收第7章异常与异常处理

    <C#从现象到本质>读书笔记(五)第5章字符串 字符串是引用类型,但如果在某方法中,将字符串传入另一方法,在另一方法内部修改,执行完之后,字符串的只并不会改变,而引用类型无论是按值传递还是 ...

  3. qhfl-7 结算中心

    结算中心,即从购物车前往支付前的确认页面,这里要开始选择优惠券了 """ 前端传过来数据 course_list 课程列表 redis 中将要存放的结算数据 { sett ...

  4. 可遇不可求的Question之error: Failed dependencies: MySQLconflicts 错误篇

    error: Failed dependencies: MySQLconflicts   错误提示: error: Failed dependencies:                       ...

  5. 用jstack自动化捕抓异常java代码脚本

    #!/bin/bashdate=` date +%y%m%d-%H%M`pid=`top -bn1 |grep java | awk '{print $1 "\t" $9}' |h ...

  6. Codeforces Round #539--1113B - Sasha and Magnetic Machines

    https://codeforces.com/contest/1113/problem/B 思想不难,但是在比较大小的时候,我选择了很笨的方法,我用两个数变化之后的差值大小来进行选择,然后最后再进行数 ...

  7. ELK学习

    [root@log-node1 ~]# cobbler repo add --name=logstash-2.3 --mirror=http://packages.elastic.co/logstas ...

  8. 利用Go2Shell 实现 Mac Finder 直接shell端打开当前文件夹

    Finder 窗口 ,点击下图所示的按钮(红色框内),即可打开Shell Terminal. 打开后,如图 用法 安装go2shell后,打开finder的application文件夹,找到go2sh ...

  9. Docker集群管理工具 - Kubernetes 部署记录 (运维小结)

    一.  Kubernetes 介绍 Kubernetes是一个全新的基于容器技术的分布式架构领先方案, 它是Google在2014年6月开源的一个容器集群管理系统,使用Go语言开发,Kubernete ...

  10. Oracle服务器和客户端安装在同一台机器的情况

    最近重装了系统,所有的开发环境需要重新部署一下,因此重新安装了Oracle,结果原来没有问题,这一次又碰到了几个问题(tns12154和tns03505),让我好一搞啊.不过又重新对Oracle加深了 ...