saltstack学习-7:grains,states,YAML

grains

grains主要负责采集客户端的一些基本信息,这个也可以完全自定义。可以在客户端自定义,然后自动汇报上来;也可以从服务端定义,然后推下去,采集完后,再汇报上来;pillar根grains比较的话它更灵活。

grains的使用:

查看

[[email protected] file]# salt ‘vas01‘ grains.ls                           查看minion所有的grains的名称
[[email protected] file]# salt ‘vas01‘ grains.items                        列出所有grains名称和对应的值
[[email protected] file]# salt ‘vas01‘ grains.item os                      列出指定的grains的名称和值

匹配

[[email protected] file]# salt -G ‘uuid:421fa146-86f4-47c1-adc9-0e21d5bad8c8‘ test.ping
vas01:
    True

自定义grains,在minion端修改配置文件,在文件结尾增加如下配置:

[[email protected] file]# vim /etc/salt/minion
grains:
  roles:
    - webserver
    - memcache
  deployment: datacenter
  cabinet: 13

重启minion

[[email protected] file]# /etc/init.d/salt-minion restart
Stopping salt-minion daemon:                               [确定]
Starting salt-minion daemon:                               [确定]

查看自定义的grains是否生效

[[email protected] file]# salt ‘study02‘ grains.items
.
.
.
    deployment:
        datacenter
.
.
.
    roles:
        - webserver
        - memcache
.
.
.

STATES

salt状态系统的核心是sls,或者叫**S** aLt State文件,SLS表示系统将会是什么样的一种状态,而且是以一种简单的格式来包含这些数据。这些也被叫做配置管理。

SLS文件实际上只是一些:词典(dictionaries),列表(lists),字符串和数字。

官方网址:https://docs.saltstack.com/en/latest/ref/states/all/

YAML语法

  • 缩进:YAML使用一个固定的缩进风格表示数据层结构关系。Salt需要每个缩进级别由两个空格组成。不要使用tab。
  • 字典:Python的字典是简单的简直对。字典的keys在YAML中表现形式是以冒号结尾的字符串。values的表现形式是冒号下面的每一行,用一个空格隔开。
  • 列表:想要表示列表项,使用一个短横杠加一个控制。多个项使用相同的缩进级别作为同一列表的一部分。

官方网址:http://docs.saltstack.cn/topics/yaml/index.html

原文地址:https://www.cnblogs.com/snailshadow/p/8215798.html

时间: 2024-10-15 15:35:58

saltstack学习-7:grains,states,YAML的相关文章

saltstack学习记录

安装 pip 安装 注意  依赖到zeromq3 minion过一段时间去请求master salt-api  可以访问salt去远程执行 ruby puppet   DSL配置   erb文件  模块  加载  模板支持最差 chef     定义直接是ruby代码   erb模板系统   原生支持 python saltstack   yaml配置文件    python程序模板   模板支持很好 python写模块 ipc 进程间通信 都使用key认证    安全 salt-key  -L

saltstack学习

一.安装 1.master安装 yum install salt-master vi /etc/salt/master interface: 192.168.55.1 /etc/init.d/salt-master start 2.minion安装 yum install salt-minion vi /etc/salt/minion master: 192.168.55.1 id: 192.168.5.31 /etc/init.d/salt-minion start 配置文件interface

SaltStack数据系统之Grains、Pillar

SaltStack数据系统之Grains.Pillar 1.什么是Grains? Grains是saltstack的组件,用于收集salt-minion在启动时候的信息,又称为静态信息.Grains是服务器的一系列粒子信息,也就是服务器的一系列物理,软件环境信息.在执行salt的sls时候可以根据Grains信息的不同对服务器进行匹配分组,例如可以根据系统是centos服务器跟系统是redhat环境的安装不同的软件包.Grains功能:1.收集资产信息 2.信息查询 官方文档:https://d

Saltstack 学习之target minions(一)

本文总结saltstack如何定位目标主机,以及介绍一些常见使用样例. > 为什么需要定位主机? 作为配置管理软件,首先要解决的是如何确定一次推送的主机,或者说特定配置的推送目标.试问如果无法很好的确定一次或多次推送的目标,又何谈实现大批主机的分类配置管理的自动化呢? > saltstack的target机制? saltstack 为此建立了一套很是完善的minion定位机制.官方术语叫"target minions",即通过多种途径,指定minion具有的属性(比如正则匹

Saltstack 学习之target minions(二)

本文紧接上一篇,就target的各分类方式的详细用法予以讲解. > Grains 首先一点,需要注意的是,minion的grains信息在minion启动时便会生成和加载,之后便以静态数据的形式存在. Grains的匹配在前文已经有所提及,实现原理便是读取grains的dict数据,而后与tgt字串进行匹配,当然,它支持嵌套key-value形式,如: salt -G 'ec2_tags:environment:*production*' test.ping -v 上述命令即寻找grains的e

SaltStack 学习笔记 - 第十二篇: SaltStack Web 界面

SaltStack 有自身的用python开发的web界面halite,好处是基于python,可以跟salt的api无缝配合,确定就比较明显,需要个性化对web界面进行定制的会比较麻烦,如果喜欢体验该界面的可以参考下面的文章  http://rfyiamcool.blog.51cto.com/1030776/1275443/ 我是运用另一个python+php来进行web开发,具体需要的工具有在我的另一篇文章里面介绍过,这里再重新进行整个开发介绍 首先介绍php 跟python通信的工具 pp

Saltstack学习笔记(2)

1.5 Salt  命令介绍(常用的这些一定要多练习) 命令           功能描述 salt           Salt 主命令,比如执行命令模块 satl-cp        复制文件到指定的系统上去 salt-key       和 Minion 之间进行身份验证 salt-master    Master 主守护进程,用于控制 Minion salt-run       前端命令执行 salt-syndic    Salt syndic 守护进程,用于多级 salt-master

saltstack 数据系统之 grains 简单学习

saltsatck 主要的使用场景有两个 1.远程执行 2.配置管理 3.云管理 目前云管理还不太成熟,所以现在使用最多的就是前两个.接下来要分析的就是salt 里面非常重要的两个数据系统 grains.pillar 之一的 grains. grains 是minion 端获取客户端本地相关信息,在每次 minion 启动的时候获取一次,可以理解为静态信息,像 ip,主机名,CPU等等信息都会获取. 一些关于 grains 的命令: salt  'host2'  grains.ls    # 获

【saltstack学习笔记之九】salt的grains的使用

1.查看grains salt 'Admin2-saltstack.littlebee.com' grains.ls salt 'Admin2-saltstack.littlebee.com' grains.items    //查看所有item salt 'Admin2-saltstack.littlebee.com' grains.item os    //单独查看os这个item 2.自定义grains 在minion的配置文件上进行自定义grains配置 grains:        /