saltstack(十):saltstack数据系统-grains和pillar
saltstack数据系统-grains和pillar
https://www.cnblogs.com/shhnwangjian/p/5985868.html
1.1 granis
Grains是saltstack的组件,用于收集salt-minion在启动时候的信息,又称为静态信息。
Grains是服务器的一系列粒子信息,也就是服务器的一系列物理,软件环境信息。在执行salt的sls时候可以根据Grains信息的不同对服务器进行匹配分组,例如可以根据系统是centos服务器跟系统是redhat环境的安装不同的软件包。
负责minion第一次启动的时候采集的静态数据,可以用在salt的模块和其他组件中。每次的minion启动(重启)的时候都会采集。
Grains功能:1.收集资产信息 2.信息查询
官方文档:https://docs.saltstack.com/en/getstarted/overview.html
静态数据,当Minion启动的时候收集的MInion本地的相关信息。(包含操作系统版本、内核版本、CPU、内存、硬盘、设备型号等)
备注:不重启minion,这些信息数据是不会改变的。
1.1.1 信息管理,包括资产管理;
salt 'linux-node1*' grains.ls # 列出ID为linux-node1的主机,grains的所有key
salt 'linux-node1*' grains.items # 列出主机的详细信息,可用于资产管理
salt '*' grains.item os # 列出所有主机的系统版本
salt '*' grains.item fqdn_ip4 # 列出所有主机的IP地址
1.1.2 用于目标选择;(查询具体id的主机,查询系统版本为centos的主机 等场景)
salt -G 'os:Centos' test.ping # 所有主机系统为centos版本ping测试
salt -G 'os:Centos' cmd.run 'echo 123' # 所有主机系统为centos版本执行命令'echo 123'
1.1.3 配置管理中使用—自定义grains的item
方式一: minion端修改配置文件 vim /etc/salt/minion
重启 systemctl restart salt-minion
通过自定义的item,可以实现重启所有角色为HTTPD的主机
salt 'test*' grains.item roles # 获取所有主机的roles
salt -G 'roles:HTTPD' cmd.run 'systemctl restart httpd' # 所有主机roles为apache的执行命令systemctl restart httpd
方式二:(生产环境使用)
修改配置文件 vim /etc/salt/grains,写法
cloud: openstack
重启 systemctl restart salt-minion
salt '*' grains.item cloud # 获取所有主机的cloud
修改/etc/salt/grains不重启服务的方法,刷新命令如下(备注:方式一和方式二修改配置文件,通过此命令都可以不用重启服务)
salt '*' saltutil.sync_grains
1.1.4 grains在top FILE中的使用案例
配置
#vim /srv/salt/top.sls base: # 'test-tms': # - web.lnmp'role:HTTPD':- match:grain #声明使用grains- web.lnmp
grains脚本目录,必须是base下创建_grains目录(如:/srv/salt/base/_grains)
创建一个python脚本在/srv/salt/_grains目录下
脚本名:my_grains.py
通过master同步脚本文件至每台minion
文件放在minion主机的/var/cache/salt/minion/extmods/grains目录下
测试
1.1.5 grains优先级
(item名称相同的情况下): 1. 系统自带 2. grains文件写到 3. minion配置文件写的 4. 自己写的脚本
1.2 pillar
Pillar
是动态的,Pillar
存储在master
上,提供给minion
。
Pillar
主要记录一些加密信息,可以确保这些敏感数据不被其他minion
看到。比如:软件版本号、用户名密码等。存储格式都是YAML
格式。
Pillar
是动态的,Pillar
存储在master
上,提供给minion
。
Pillar
主要记录一些加密信息,可以确保这些敏感数据不被其他minion
看到。比如:软件版本号、用户名密码等。存储格式都是YAML
格式
开启系统自带,修改配置文件
vim /etc/salt/master
重启
sudo systemctl restart salt-master
执行salt '*' pillar.items 可以看到系统自带的item,当然最初是空的
实现pillar流程
1)创建一个piller文件,python jinja2写法
###install.sls
{% if grains['fqdn'] == 'test-tms' %}
webserver: httpd
{% elif grains['fqdn'] == 'test-mall' %}
webserver: nginx
{% else %}
webserver: NOT-httpd-nginx
{% endif %}##top.sls
base:'test*':- web.install
测试
刷新
salt '*' saltutil.refresh_pillar # 刷新
显示
item
salt '*' pillar.items webserver
根据设置
key
值显示
item
salt 'test*' pillar.items webserver
目标选择
salt -I 'webserver:nginx' test.ping
1.3 grains和pillar结合jinja模板
https://www.cnblogs.com/wangxu01/articles/10974696.html
1.4 grains和pillar的区别
转载于:https://www.cnblogs.com/wangxu01/articles/10974892.html
saltstack(十):saltstack数据系统-grains和pillar相关推荐
- saltstack高级状态的使用、top file的使用、数据系统grains和pillar的使用
saltstack高级状态的使用.top file的使用.数据系统grains和pillar的使用 1. YAML语言 YAML是一种直观的能够被电脑识别的数据序列化格式,是一个可读性高并且容易被人类 ...
- Saltstack数据系统Grains和Pillar(三)
Saltstack数据系统 分为Grains和Pillar 一.Grains 静态数据,当Minion启动的时候收集的MInion本地的相关信息.(包含操作系统版本.内核版本.CPU.内存.硬盘.设备 ...
- Saltstack数据系统——grains和pillar
一.grains 静态数据,当Minion启动的时候收集的MInion本地的相关信息.(包含操作系统版本.内核版本.CPU.内存.硬盘.设备型号等) 1.自定义grains的item [root@se ...
- SaltStack实战之数据系统-Grains
1. Grains应用场景 Grains可以在state系统中使用,用于配置管理模块. Grains可以在target中使用,用来匹配minion,比如匹配操作系统,使用-G选项. Grains可以用 ...
- Linux之Saltstack中grains、pillar取值和jinja模板的应用
一.grains和pillar介绍 1. Grains简介 Grains是SaltStack的一个组件,存放在SaltStack的minion端.当salt-minion启动时会把收集到的数据静态存放 ...
- SaltStack自动化运维(三)——Grains与Pillar组件
前言 Grains组件 Grains是saltstack记录minion的一些静态信息组件,可以简单的理解为grains里面记录着每台minion的一些常用的属性,比如cpu.内存.磁盘.网络信息等, ...
- SaltStack的Grains和Pillar
SaltStack的Grains和Pillar 标签(空格分隔): SaltStack Grains理解为除了 id之外 ,用户可以自定义的属性 下面我们通过Grains模块来设置并定义Grains信 ...
- 企业运维实战--自动化运维Saltstack(上)之saltstack的安装部署、远程执行、grains和pillar详解以及Jinja模板的使用
企业运维实战--自动化运维Saltstack(上) 前言 一.Saltstack安装部署 二.sls文件远程执行 saltstack安装httpd并启动 saltstack源码编译安装nginx 启动 ...
- [原创]Slatstack 两个数据系统重要组件:Grains和Pillar初步介绍说明
之前文章<Saltstack命令参数详解以及配置文件说明> 做了一个saltstack 的简单用户举例以及配置文件说明,基本对saltstack这个自动化工具有了一个原理.安装和配置方面的 ...
最新文章
- 用BenchmarkDotNet给C#程序做性能测试
- 为什么有些产品不尽完美 但还是有大批用户愿意购买(转)
- BugkuCTF-Misc:Linux
- python的常用数据类型_python 常用数据类型
- linux安装版本的python,linux安装python各种版本.md
- 【WebSocket】手把手教会使用WebSocket
- Java学习系列(十六)Java面向对象之基于TCP协议的网络通信
- 有时,不做什么比做什么更重要,拒绝比答应更重要
- 爬虫入门知识+简单案例《python网络爬虫从入门到实践》静态网页抓取
- Chrome浏览器启动参数大全(命令行参数)
- 使用Labwindows开发DAQmx
- 参加2010年磨房《在路上 - 十年》百公里徒步活动小记
- C1083: 无法打开包括文件:“corecrt.h”
- java 文件图标_如何用java程序修改文件夹默认图标,麻烦了
- SMART硬盘检测参数详解
- Kaldi的关键词搜索(Keyword Search,KWS)
- html怎么将背景设为黑色,文字设为白色
- js 动态给style标签内添加样式
- MySQL 的几种碎片整理方案总结(解决delete大量数据后空间不释放的问题)
- 梅森公式的推导和探究