Grains组件

Grains是saltstack记录minion的一些静态信息组件,可以简单的理解为grains里面记录着每台minion的一些常用的属性,比如cpu、内存、磁盘、网络信息等,可以通过grains.items查看某台minion的grains所有信息,minion的grains信息是minion启动的时候采集汇报给master的。

grains会在minion进程启动时进行加载,并缓存在内存中。这样salt-minion进程无需每次操作都要重新检索系统来获取grain,提升了minion性能。

grains相关命令用法可用sys.list_functions grains来查看,详细用法可用sys.doc grains.items查看:

grains的定义:

通过minion配置文件定义

通过grains相关模块定义

通过python脚本定义

通过minion配置文件定义grains:

在配置文件中有默认的注释行,修改好配置文件重启minion服务

在master上通过salt 'minion-01' grains.item roles和salt 'minion-01' grains.item deployment就可查看刚才定义的grains值。

通过grains模块来设置并定义grains信息:

salt 'minion-01' grains.append sufe 'beauty'

salt 'minion-01' grains.setvals "{'salt': 'good','book': 'cool'}" #设置多对

salt 'minion-01' grains.item sufe #查看所定义的grains信息

现在都是将自定义的静态grain存在一个grain文件中(/etc/salt/grains),这样grains独立存储,易于在本地查找。能够通过执行模块进行修改。

Pillar组件

Pillar是数据管理中心,主要作用就是存储和定义配置管理中需要的一些数据,比如软件版本号、用户密码等信息,格式与grains类似,都是YAML格式。

Pillar也是Salt用来分发全局变量到所有minions的一个接口。安全起见,有些数据是不可以共享出来的,需要指定。比如高度敏感的数据:通过pillar传输的数据会保证只向选定的minions展现,这使得pillar可以作为Salt中管理安全信息的引擎,比如加密的key和密码。

通过master配置文件定义Pillar相关参数:

pillar_roots:

base:

- /srv/pillar

此处pillar工作目录为/srv/pillar。定义多个环境不同的pillar工作目录,去pillar工作目录新建top.sls文件然后引用两个sls文件即可。

grains和pillar比较:

1.grains存储的是静态数据、不常变化的内容,pillar则相反

2.grains是存储在minion本地,而pillar存储在master本地

3.minion有权限操作自己的grains值,如增加、删除,但minion只能查看自己的pillar,无权修改

后续再补充。

Saltstack管理对象属性之grains和pillar组件的更多相关文章

  1. saltstack之(五)数据系统Grains和Pillar

    一.grains 1.什么是grainsgrains:存储minion端的信息,包括一些网络.硬件等信息,保存在minion端.一般为静态信息,非经常变化的数据. 2.grains的使用:获取mini ...

  2. SaltStack入门篇(三)之数据系统Grains、Pillar

    1.什么是Grains? Grains是saltstack的组件,用于收集salt-minion在启动时候的信息,又称为静态信息.可以理解为Grains记录着每台Minion的一些常用属性,比如CPU ...

  3. Saltstack pillar组件

     pillar组件 pillar也是Saltstack最重要的组件之一,其作用是定义与被控主机相关的任何数据,定义好的数据可以被其他组件使用,如模板.state.API等.在pillar中定义的数据与 ...

  4. Saltstack系列5:Saltstack之pillar组件

    pillar组件 pillar也是Saltstack最重要的组件之一,其作用是定义与被控主机相关的任何数据,定义好的数据可以被其他组件使用,如模板.state.API等. 在pillar中定义的数据与 ...

  5. SaltStack数据系统之Grains、Pillar

    SaltStack数据系统之Grains.Pillar 1.什么是Grains? Grains是saltstack的组件,用于收集salt-minion在启动时候的信息,又称为静态信息.Grains是 ...

  6. Saltstack数据系统Grains和Pillar(三)

    Saltstack数据系统 分为Grains和Pillar 一.Grains 静态数据,当Minion启动的时候收集的MInion本地的相关信息.(包含操作系统版本.内核版本.CPU.内存.硬盘.设备 ...

  7. saltstack:使用教程之二高级模块用法Grains、Pillar

    1.grains用法: 在客户端服务启动的时候收集客户的基础信息,在配置发生变化后也可以通过master重新同步 显示一个客户端的所有项目: [root@node5 ~]# salt "no ...

  8. 【02】Saltstack:Grains and Pillar

    写在前面的话 上一节谈及了 Saltstack 的安装和初始化配置,本节将谈谈 Saltstack 中两个重要的东西,Grains 和 Pillar. 数据系统 Grains 入门 Grains 是静 ...

  9. 2. SaltStack数据系统: Grains、Pillar

    1. SaltStack数据系统 Grains (谷物) Pillar (支柱) 2.Grains Grains存放着Salt命令启动时收集的信息,运行时不收集 2.1  信息查询 收集资产 网卡,i ...

随机推荐

  1. Team Foundation Server 2013 KEY(密钥)

    isual Studio Ultimate 2013 KEY(密钥):BWG7X-J98B3-W34RT-33B3R-JVYW9 Visual Studio Premium 2013 KEY(密钥): ...

  2. cordova启动页面和图标的设置

    一.config.xml配置 在cordova5.0版本以后,需要安装cordova-plugin-splashscreen插件以后才能修改和设置App的启动页面. 安装splashscreen插件: ...

  3. lfs(systemd版本)学习笔记-第2页

    我的邮箱地址:zytrenren@163.com欢迎大家交流学习纠错! lfs(systemd)学习笔记-第1页 的地址:https://www.cnblogs.com/renren-study-no ...

  4. debian+python3.5环境下安装paramiko模块:

    debian+python3.5环境下安装paramiko模块: 1.确保安装了操作系统安装了libssl-dev,zlib1g-dev  (redhat,centos下这两包包名为openssl-d ...

  5. 在Java中调用C/C++本地库

    JNI是Java Native Interface的英文缩写, 中文翻译为本地调用, 自从Java 1.1开始就成为了Java标准的一部分. C/C++是系统级的编程语言, 可以用来开发任何和系统相关 ...

  6. javascript打印1-100内的质数

    <script> /* 质数定义: 质数(prime number)又称素数,有无限个. 质数定义为在大于1的自然数中,除了1和它本身以外不再有其他因数. 1不是质数 */ //声明变量 ...

  7. CSS| 框模型-定位及相關屬性

    CSS 定位 (Positioning) 属性允许你对元素进行定位. CSS 定位和浮动 CSS 为定位和浮动提供了一些属性,利用这些属性,可以建立列式布局,将布局的一部分与另一部分重叠,还可以完成多 ...

  8. java连接zookeeper服务器出现“KeeperErrorCode = ConnectionLoss for ...”

    错误信息如下: Exception in thread "main" org.apache.zookeeper.KeeperException$ConnectionLossExce ...

  9. Reveal安装

    一.安装 第一步:将Reveal.framework拖入工程中(下载地址:http://pan.baidu.com/s/1mgMJVDI,解压后产生的Reveal.framework,拖入工程即可). ...

  10. Static简介

    1.static称为静态修饰符,它可以修饰类中得成员.被static修饰的成员被称为静态成员,也成为类成员,而不用static修饰的成员称为实例成员. 2.当 Voluem volu1 = new V ...