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的更多相关文章

  1. SaltStack 数据系统 Grains Pillar

    grains 先来一个很好用的命令 # salt '*' grains.items \\基本上输出了所有你想要的信息 192.168.100.138: ---------- SSDs: biosrel ...

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

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

  3. SaltStack数据系统-Grains

    上一篇:SaltStack配置管理 granis:谷粒 pillar:柱子 grains是salt的一个组件,存放minion启动时候收集的信息(状态信息) 查看 salt '*' grains.it ...

  4. SaltStack数据系统-Pillar

    上一篇:SaltStack数据系统-Grains 使用saltstack进行配置管理可以使用pillar定义主机假如是Openstack修改了一下nova的密码就需要修改很多配置文件 pillar很安 ...

  5. Saltstack_使用指南04_数据系统-Grains

    1. 主机规划 Grains文档 https://docs.saltstack.com/en/latest/topics/grains/index.html 注意事项 修改了master或者minio ...

  6. SaltStack数据系统之Grains、Pillar

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

  7. 【02】Saltstack:Grains and Pillar

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

  8. 死磕salt系列-salt grains pillar 配置

    grains 和 pillar 对比: Grains:存放静态数据,主要存储客户端的主机信息,重启grains会刷新. Pillar: 处理敏感数据, 处理差异性的文件. Grains数据系统 sal ...

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

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

随机推荐

  1. Redis(1.12)Redis cluster搭建常见错误

    [1]gem install redis 报错 redis-cluster安装需要通过gem install redis来安装相关依赖.否则报错.通过gem install redis执行后会出现两个 ...

  2. python 下安装pymysql数据库

    两种方法来安装pymysql 方法一.利用命令来安装 安装:python37 -m pip install pymysql 升级:python37 -m pip install pymysql --u ...

  3. hadoop(一HDFS)

    hadoop(一HDFS) 介绍 狭义上来说: hadoop指的是以下的三大系统: HDFS :分布式文件系统(高吞吐,没有延时要求,容错性,扩展能力) MapReduce : 分布式计算系统 Yar ...

  4. python — 进程

    目录 1. 进程 1.进程就是一个运行中的程序(是对正在运行程序的一个抽象). 2.程序和进程之间的区别: 程序只是一个文件 进程是这个文件被CPU运行起来了 程序是永久的,进程是暂时的. 3.进程- ...

  5. [C#.net]C#如何解析json文本文件

    C#解析Json字符串,可以借助Newtonsoft.Json将Json字符串序列化为对象,再从对象中获取值 Newtonsoft.Json.JsonConvert.DeserializeObject ...

  6. WCF寄宿windows服务一

    如果只是寄宿单个wcf服务,方法很简单,步骤:1.创建好一个windows服务.关于windows服务内容见:http://www.cnblogs.com/zhaow/p/7866916.html2. ...

  7. 使用SSH连接AWS服务器

    使用SSH连接AWS服务器 一直有一台AWS云主机,但是之前在Windows平台都是使用Xshell连接的,换到Ubuntu环境之后还没有试,昨天试了一下,终于使用SSH连接成功了,这里记录一下步骤: ...

  8. tomcat启动程序乱码和tomcat启动程序的标题乱码处理

    启动程序运行中的文字乱码: 解决方案: 找到Tomcat目录下conf文件夹中的logging.properties文件, 打开logging.properties文件,找到文件中的java.util ...

  9. php 生成mysql数据字典 (php5.5-5.6)

    <?php /** * 生成mysql数据字典 */ //配置数据库 $dbserver = "127.0.0.1"; $dbusername = "root&qu ...

  10. 《Linux就该这么学》day1-day2

    ps:原谅我的书法出自鲁迅的<野草> <Linux就该这么学>书本介绍: 本书是由全国多名红帽架构师(RHCA)基于最新Linux系统共同编写的高质量Linux技术自学教程,极 ...