salt之grains组件】的更多相关文章

grains是saltstack最重要的组件之一,作用是收集被控主机的基本信息,这些信息通常都是一些静态类的数据,包括CPU.内核.操作系统.虚拟化等,在服务器端可以根据这些信息进行灵活定制,管理员可以利用这些信息对不同业务进行个性化配置.----其实类似于Ansible的Facts grains常用操作命令: salt '*' grains.ls   #获取主机的grains项信息(列出grains相关模块信息) salt '*' grains.items   #获取主机的所有grains信息…
grains是Saltstack最重要的组件之一,grains的作用是收集被控主机的基本信息,这些信息通常都是一些静态的数据,包括CPU.内核.操作系统.虚拟化等,在服务器端可以根据这些信息进行灵活定制,管理员可以利用这新信息对不同业务进行个性化配置. 官网提供的用来区分不同操作系统的示例如下(采用jinja模板): {% if grains['os'] == 'Ubuntu' %} host: {{ grains['host'] }} {% elif grains['os'] == 'Cent…
grains说明 grains是Saltstack最重要的组件之一,grains的作用是手机被控主机的基本信息,这些信息通常都是一些静态类的数据,包括CPU.内核.操作系统.虚拟化等,在服务器端可以根据这些信息进行灵活定制,管理员可以利用这些信息对不同业务进行个性化定制. 例:(janja模板) {% if grains['os'] == 'Ubuntu' %} host: {{ grains['host'] }} {% elif grains['os'] == 'CentOS' %} host…
pillar也是salt最重要的组件之一,其作用是定义与被控主机相关的任何数据,定义好的数据可以被其他组件使用,如模板.state.API等.在pillar中定义的数据与不同业务特征的被控主机相关联,这样不同被控主机只能看到自己匹配的数据,因此pillar安全性很高,适用于一些比较敏感的数据,这也是区别于grains最关键的一点,如定义不同业务组主机的用户id.组id.读写权限.程序包等信息,定义的规范是采用Python字典形式,即键/值,最上层的键一般为主机的id或组名称. pillar的定义…
grains作用: 1.匹配 minion 2.收集信息 (每次重启minion才会收集) grains 数据存储在minion端. salt '*' grains.ls salt '*' grains.items 通过系统自带的grains匹配: salt -G os:CentOS cmd.run "w" 在minion配置文件中定义: 重启minion  (主动收集:minion 执行:saltutil.sync_grains命令) 这样就可以通过 grains匹配minion了:…
Grains组件 Grains是saltstack记录minion的一些静态信息组件,可以简单的理解为grains里面记录着每台minion的一些常用的属性,比如cpu.内存.磁盘.网络信息等,可以通过grains.items查看某台minion的grains所有信息,minion的grains信息是minion启动的时候采集汇报给master的. grains会在minion进程启动时进行加载,并缓存在内存中.这样salt-minion进程无需每次操作都要重新检索系统来获取grain,提升了m…
grains 和 pillar 对比: Grains:存放静态数据,主要存储客户端的主机信息,重启grains会刷新. Pillar: 处理敏感数据, 处理差异性的文件. Grains数据系统 salt '*' grains.items ###列出服务器的详细参数 只查看OS的信息: ```shell shell> salt 'linux-node2' grains.item os linux-node2: ---------- os: CentOS shell> salt 'linux-no…
一.认识自动化运维 传统运维效率低,大多工作人为完成 传统运维工作繁琐,容易出错 传统运维每日重复做相同的事情 传统运维没有标准化流程 传统运维的脚本繁多,不能方便管理 自动化运维就是要解决上面所有问题 Puppet (www.puppetlabs.com)基于rubby开发,c/s架构,支持多平台,可管理配置文件.用户.cron任务.软件包.系统服务等. 分为社区版(免费)和企业版(收费),企业版支持图形化配置. Saltstack(官网 https://saltstack.com,文档doc…
红蜘蛛软件 c/s client  : 学生端是客户端 ,装了红蜘蛛客户端-学生端 server端: 教师机  ,装了红蜘蛛软件-教师端  教师机,只能管理,  教师机和学生机,相互通信,相互知道的情况下  #运维管理工具 ansible #支持ssh,不需要客户端 saltstack   #也是只是ssh,不需要客户端的 安装架构是,master /minion  安装salt的依赖模块python zeromq 是一个消息队列 ,master和minion通信,需要将master发送的命令,…
简介 Grains 是SaltStack 的重要组件之一.主要记录minion的静态信息,比如CPU,内存,磁盘,网络信息等.Grains信息是minion启动时汇报给Master的. 刷新grains方法: (1)重启minion (2)Master强制刷新: salt '*' saltutil.sync_grains Grains 相关方法 Grains: - grains.append # 向grains中添加key/value, 不存在则创建,存在则追加,被追加的key将有两个值,sal…
上一篇:SaltStack配置管理 granis:谷粒 pillar:柱子 grains是salt的一个组件,存放minion启动时候收集的信息(状态信息) 查看 salt '*' grains.items 只列出名称 salt '*' grains.ls 获取固定的 salt '*' grains.get fqdn_ip4 获取eth0的ip地址 salt '*' grains.get ip4_interfaces:eth0 使用grains进行目标匹配 只在CentOS系统下面执行命令 sa…
一,grains grains: 这个跟puppet的facter功能一样.主要负责采集客户端一些基本信息, 这个也完全可以自定义,可以在客户端自定义,然后自动汇报上来:也可以从服务器端定义然后推下去,采集完后,再汇报上来grains信息是静态的:pillar  跟grains 比较的话 他的灵活性强点,怎么定义就这么定义,然后取值就行 grains的用法: [root@feed200 ~]# salt '*' grains.items ##查询所有的grains信息 test1: ------…
作者言 我也只是SaltStack的初学者,如果文中有错误的地方,请不吝赐教. 在学习的过程,我也做了不少实验,犯了不少错,积累了一些经验,对SaltStack的运行也有一定了解,如果有什么问题,或是不太理解的地方,非常欢迎留言交流! Salt States 参考链接:官方文档 简洁,简洁,简洁 众多强大而有力的设计都建立在简单的原则之上.Salt SLS系统也努力向K.I.S.S看齐.(Keep It Stupidly Simple) SLS(代表SaLt State文件)是Salt Stat…
作者言 Salt的网站上有两篇关于Pillar的文档(一,二),其中一篇内容很少,我觉得写成一篇文章更合适.本文的逻辑结构没有参照官方文档,而是根据我自己对Pillar的理解组织内容,希望能够把这个概念解释清楚.文中的示例代码来自官方文档. 我只是SaltStack的初学者,如果文中有错误的地方,请不吝赐教. 在学习的过程,我做了一些实验,犯了不少错,积累了一些经验,对SaltStack的运行也有一定了解,如果有什么问题,或是不太理解的地方,非常欢迎留言交流! Pillar是什么? Pillar…
Grains 本章节参考<SaltStack技术入门与实践>,感谢该书作者: 刘继伟.沈灿.赵舜东 前几章我们已经了解SaltStack各个组件以及通过一个案例去熟悉它的各种应用,从这章开始我们通过Python语言去扩展SaltStack组件.虽然SaltStack自带的各种组件在功能上已经很成熟了,但是有时候无法满足企业各种复杂的环境.本章的主要内容就是如何去扩展SaltStack各个组件. 一.查看Grains相关的命令及用法 [root@saltmaster ~]# salt 'iror…
@ 目录 一.简介 二.grains 1.查看客户端所有的grains项 2.查看grains的所有的项和值 3.查看某个项和值 (1)语法1: (2)语法2: 4.根据grains来匹配目标主机 例子1:使用单个项匹配主机 例子2:多层项嵌套匹配主机 5.自定义grains 方法1:修改minion文件 (1)修改客户端的配置文件 (2)重启salt-minion服务 (3)查看自定义项结果 方法2:通过grains文件定义自定义项 (1)在客户端新建grains文件 (2)编写自定义项 (3…
SaltStack除了传统的C/S架构外,其实还有Masterless架构,如果采用Masterless架构,我不需要单独安装一台SaltStack Master机器,只需要在每台机器上安装Minion,然后采用本机只负责对本机的配置管理工作机制服务模式. Saltstack三大功能 远程执行(执行远程命令) 配置管理(状态管理) 云管理 Saltstack特征 1)部署简单.方便: 2)支持大部分UNIX/Linux及Windows环境: 3)主从集中化管理: 4)配置简单.功能强大.扩展性强…
saltstack运行模式: local master/minion salt ssh saltstack三大功能 远程执行命令 配置管理(状态管理) 云管理 安装: master  salt-master agent    salt-minion salt-key命令 accepted keys:  接受的key denied keys:   拒绝的key unaccepted keys:  没有接受的key rejected keys:  拒绝的key agent的minion_id保存路径…
Saltstack数据系统 分为Grains和Pillar 一.Grains 静态数据,当Minion启动的时候收集的MInion本地的相关信息.(包含操作系统版本.内核版本.CPU.内存.硬盘.设备型号等) 备注:不重启minion,这些信息数据是不会改变的. 1)信息管理,包括资产管理: 例: salt 'linux-node1*' grains.ls # 列出ID为linux-node1的主机,grains的所有key salt 'linux-node1*' grains.items #…
一.grains 1.什么是grainsgrains:存储minion端的信息,包括一些网络.硬件等信息,保存在minion端.一般为静态信息,非经常变化的数据. 2.grains的使用:获取minion端信息salt '192.168.3.1' grains.items --获取minion端所有的grains信息.salt '192.168.3.1' grains.item fqdn --通过grains.item获取minion端的fqdn信息.salt '192.168.3.1' gra…
grains是什么 grains是minion服务启动后,采集的客户端的一些基本信息,硬件信息,软件信息,网络信息,软件版本等.你可以在minion上自定义一些grains信息. 它是静态的信息,minion服务启动后采集,如果一些信息变更,需要重启minion服务.grains适合做一些静态的属性值的采集 grains的使用 salt  'minionid'  grains.ls salt  'minionid'  grains.items salt  'minionid'  grains.i…
1.grains用法: 在客户端服务启动的时候收集客户的基础信息,在配置发生变化后也可以通过master重新同步 显示一个客户端的所有项目: [root@node5 ~]# salt "node6.a.com" grains.items  #显示所有的项目,注意是grauns.items [root@node5 ~]# salt "node6.a.com" grains.items node6.a.com: ---------- SSDs: biosreleased…
1. 主机规划 Grains文档 https://docs.saltstack.com/en/latest/topics/grains/index.html 注意事项 修改了master或者minion的配置文件,那么必须重启对应的服务. 2. Grains基本信息 Saltstack 数据系统 Grains (谷粒) Pillar (柱子) Grains:静态数据 当Minion启动的时候收集的Minion本地的相关信息 如:操作系统版本,内核版本,CPU,内存,硬盘,设备型号,序列号 .信息…
1.salt安装服务器环境 准备2台机器 192.168.11.250 master端(主人) 192.168.11.167 minion端 (奴隶 ) 2.两台机器配置hosts文件,用于加速域名解析,以及分别安装 salt-master 和salt-minion软件 服务端:vim /etc/hosts 192.168.11.167 s17slave 192.168.11.250 s17master 客户端:同样 vim /etc/hosts 192.168.11.167 s17slave…
saltstack的grains类似于ansible的setup模块,主要作用为手机客户端的主机基本信息(cpu,内核,os,virtual等),定义在客户端 [root@k8s_master ~]# cat /etc/salt/master |grep -v "^#\|^$" cachedir: /var/cache/salt/master auto_accept: True file_recv: True file_roots: base: - /root nodegroups:…
salt-master建立分组 如dn: 'L@dnxxx,dyyy' salt -N dn  state.apply  hadoop test=true salt -N dn  cmd.run  'ls -ll /' salt -N dn  test.ping salt 'dnxxx'  test.ping salt-minion修改minion配置:master   id salt-key   -L salt-key   -A systemctl start salt-minion.serv…
  salt安装  https://docs.saltstack.com/en/latest/topics/installation/index.html#quick-install   salt远程执行命令  salt  '<target>' <function> [arguments]  # salt    '*'     service.status     mysqld   terget: 全局配置 * ?  []           salt  'tencen[a-z]'…
salt 是服务端远程批量操作多台客户端需要使用到的命令,常见用法如下: salt '*' # 指定对所有客户端主机进行操作 salt 'minion01' # 指定对单台客户端主机进行操作 salt 'minion0[12]' # 指定对多台客户端主机进行操作,支持通配 salt 'minion0*' # 指定对多台客户端主机进行操作,支持通配 salt -E 'minion0(1|2)' # 以正则(pcre)的形式指定对多台客户端主机进行操作 salt -L 'minion01, mini…
查看模块包含哪些函数 salt 'node' sys.list_functions test 查看函数的用法 salt 'node' sys.doc test.echo 使用模块中的函数 salt 'node' test.echo 'hello world' 查看命令执行的完整信息 salt 'node' --summary test.echo 'hello world' 输出详细信息 salt 'node' cmd.run_all 'echo hello world' 正则表达式 salt -…
这里将salt使用过程中遇到的所有的故障进行一个汇总. grains 匹配后多了一个列表 salt-master中配置jinja模板来匹配自定义的grins. vim /etc/salt/minion grains: roles: - elastic-minion1 #配置文件中引用 network.host: {{ grains['roles']}} #匹配后的结果如下: network.host: ['elastic-minion1'] 解决办法 #修改配置文件中的引用 network.ho…