2. SaltStack数据系统: Grains、Pillar
1. SaltStack数据系统
Grains (谷物)
Pillar (支柱)
2.Grains
Grains存放着Salt命令启动时收集的信息,运行时不收集
2.1 信息查询
收集资产
网卡,ip,cpu ....
(1)收集系统底层的msg
[root@linux-node1 ~]# salt '*' grains.ls
[root@linux-node1 ~]# salt '*' grains.items



(2)查询单个
[root@linux-node1 ~]# salt '*' grains.item fqdn
[root@linux-node1 ~]# salt '*' grains.get fqdn
[root@linux-node1 ~]# salt '*' grains.get ip4_interfaces

2.2 匹配minion
在所有centos上执行,
所有开机的虚拟机上执行
[root@linux-node1 ~]# salt -G 'os:CentOS' cmd.run 'uptime'
[root@linux-node1 ~]# salt -G 'init:systemd' cmd.run 'uptime'
2.3 top.sls中匹配minion
[root@linux-node1 ~]# vim /srv/salt/base/top.sls


2.4 配合模板来做判断
在pillar中使用
2.5 如何配置?
1.Minion配置文件中的grains (不推荐了)
(1)修改配置文件
vim /etc/minion

systemctl restart salt-minion
(2)在所有角色是memcache上执行

(3)grians配置文件
新建 grins
:后面必须有空格

(4)重启服务minion
[root@host-192-168-23-39 master]# systemctl restart salt-minion
[root@host-192-168-23-39 master]# systemctl status salt-minion
(5)执行命令

2.自定制grains
# vim grains文件
[root@linux-node1 ~]# vim /etc/salt/grains
test-grains: linux-node2 [root@linux-node1 ~]# salt '*' grains.get test-grains
linux-node2.example.com:
linux-node1.example.com:
# 重启或者重新获取grains
[root@linux-node1 ~]# systemctl restart salt-minion

# 执行命令
[root@linux-node1 ~]# salt '*' grains.get test-grains
linux-node2.example.com:
linux-node1.example.com:
linux-node2
3.Pillar
官方文档:https://docs.saltstack.com/en/latest/topics/pillar/index.html
github中pillar的配置: https://github.com/saltstack-formulas?utf8=✓&q=&type=&language=
3.1 Grains与pillar对比
Grains的问题
:静态数据,要刷新
.用户名密码,不太安全
Pillar好处
敏感data,比如配置文件设定密码
处理变量差异性
给minion指定它想要的数据
安全性比较好,给谁指定谁能看到,其他的看不到
安全,只有指定的人才能看到key-value 在master端设定
不用每次重启服务
pillar解析后是个python的字典
直接在salt中 写python的语法
3.2 打开默认pillar
# 默认关闭的
[root@linux-node1 ~]# salt '*' grains.get test-grains
linux-node1.example.com:
----------
linux-node2.example.com:
----------
# 配置master文件
[root@linux-node1 ~]# vim /etc/salt/master

# 重启master服务
[root@linux-node1 ~]# systemctl restart salt-master
# 执行命令

3.3 配置pillar
1.配置master文件,创建目录
[root@linux-node1 ~]# vim /etc/salt/master

[root@linux-node1 ~]# mkdir -p /srv/pillar/{base,prod}
[root@linux-node1 ~]# tree /srv/pillar/
/srv/pillar/
├── base
└── prod
directories, files
[root@linux-node1 ~]# systemctl restart salt-master
2. vim apache.sls
[root@linux-node1 ~]# vim /srv/pillar/base/apache.sls
{% if grains['os'] == 'CentOS' %}
apache: httpd
{% elif grains['os'] == 'Debian'%}
apache: apache2
{% endif %}

apache: 空格注意空格
[root@linux-node1 pillar]# tree
.
├── base
│ └── apache.sls
└── prod directories, file
3. 指定哪个minion可以看到
[root@linux-node1 pillar]# vim /srv/pillar/base/top.sls

[root@linux-node1 pillar]# salt '*' pillar.items

3.4 pillar在状态文件中如何引用的
[root@linux-node1 base]# vim /srv/salt/base/web/apache.sls

执行命令

4.总结与展望
1. Grains与Pillar对比


2. 报错:Pillar报错

报错信息:apache: 空格注意空格

3.配置中心
https://www.infoq.cn/article/basis-frameworkto-implement-micro-service/

2. SaltStack数据系统: Grains、Pillar的更多相关文章
- SaltStack 数据系统 Grains Pillar
grains 先来一个很好用的命令 # salt '*' grains.items \\基本上输出了所有你想要的信息 192.168.100.138: ---------- SSDs: biosrel ...
- Saltstack数据系统Grains和Pillar(三)
Saltstack数据系统 分为Grains和Pillar 一.Grains 静态数据,当Minion启动的时候收集的MInion本地的相关信息.(包含操作系统版本.内核版本.CPU.内存.硬盘.设备 ...
- SaltStack数据系统-Grains
上一篇:SaltStack配置管理 granis:谷粒 pillar:柱子 grains是salt的一个组件,存放minion启动时候收集的信息(状态信息) 查看 salt '*' grains.it ...
- SaltStack数据系统-Pillar
上一篇:SaltStack数据系统-Grains 使用saltstack进行配置管理可以使用pillar定义主机假如是Openstack修改了一下nova的密码就需要修改很多配置文件 pillar很安 ...
- Saltstack_使用指南04_数据系统-Grains
1. 主机规划 Grains文档 https://docs.saltstack.com/en/latest/topics/grains/index.html 注意事项 修改了master或者minio ...
- SaltStack数据系统之Grains、Pillar
SaltStack数据系统之Grains.Pillar 1.什么是Grains? Grains是saltstack的组件,用于收集salt-minion在启动时候的信息,又称为静态信息.Grains是 ...
- 【02】Saltstack:Grains and Pillar
写在前面的话 上一节谈及了 Saltstack 的安装和初始化配置,本节将谈谈 Saltstack 中两个重要的东西,Grains 和 Pillar. 数据系统 Grains 入门 Grains 是静 ...
- 死磕salt系列-salt grains pillar 配置
grains 和 pillar 对比: Grains:存放静态数据,主要存储客户端的主机信息,重启grains会刷新. Pillar: 处理敏感数据, 处理差异性的文件. Grains数据系统 sal ...
- SaltStack入门篇(三)之数据系统Grains、Pillar
1.什么是Grains? Grains是saltstack的组件,用于收集salt-minion在启动时候的信息,又称为静态信息.可以理解为Grains记录着每台Minion的一些常用属性,比如CPU ...
随机推荐
- ARM 版本 瀚高 数据库的启动命令
1. 在瀚高安装目录下面执行路径 安装目录为: /opt/HighGoDB-4.3.4.3/ bin下./pg_ctl restart -D ../data 本次的密码是: highgo123 2 ...
- 在Docker Container 内部安装 Mono 的方法 ---From官网
1.首先 mono 是什么 Mono是一个由Xamarin公司(先前是Novell,最早为Ximian)所主持的自由开放源代码项目. 该项目的目标是创建一系列匹配ECMA标准(Ecma-334和Ecm ...
- bootstrap-table服务端分页操作
由于数据库查询的数据过多,所以采取服务端分页的操作,避免一次性加载的数据量过多,导致页面加载缓慢. 后端数据的封装格式json数据 rows里的数据是当前页的数据,total是总条数: { " ...
- 阿里云ECS云服务器CentOS部署个人网站
ping了一下coding pages和阿里云服务器的速度,意外感觉coding的速度反而更快.不过为了折腾,还是把博客迁移到阿里云,跌跌撞撞遇到很多坑,大多是由于对指令不熟悉以及部分教程省略了部分步 ...
- crontab中的%
crontab中的%是换行的意思,在使用时需要使用\做转义. ----------------- 在用crontab执行一段定时任务时,想要把数据输出到一个日期命名的文件中 * * * * * cd ...
- Python的IDE之Jupyter的使用
Python的IDE之Jupyter的使用 今天给大家分享的是Jupyter安装和基本使用教程,同时在我安装的过程中遇到了一些问题,解决方法,一并和大家分享 一.Jupyter介绍 Jupyter N ...
- 牛客 158F 青蛙 (贪心)
显然存在一个最优解满足所有青蛙在连续的一段, 每次由最左侧青蛙跳向下一格. 然后二分或者双指针即可求出答案. #include <iostream> #include <sstrea ...
- 论文笔记-IGCV3:Interleaved Low-Rank Group Convolutions for Efficient Deep Neural Networks
论文笔记-IGCV3:Interleaved Low-Rank Group Convolutions for Efficient Deep Neural Networks 2018年07月11日 14 ...
- 使用JWT的ASP.NET CORE令牌身份验证和授权(无Cookie)——第1部分
原文:使用JWT的ASP.NET CORE令牌身份验证和授权(无Cookie)--第1部分 原文链接:https://www.codeproject.com/Articles/5160941/ASP- ...
- 基于C#实现与JY61姿态角度传感器通信
产品介绍: 此六轴模块采用高精度的陀螺加速度计 MPU6050,通过处理器读取 MPU6050 的测量数据 然后通过串口输出,免去了用户自己去开发 MPU6050 复杂的 IIC 协议,同时精心的 ...