SaltStack数据系统
Posted fansik
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SaltStack数据系统相关的知识,希望对你有一定的参考价值。
SaltStack是一种革命性的基础设施管理方法,它以速度取代复杂性。SaltStack很简单,可以在几分钟内运行,足以管理数万台服务器,并且可以在几秒内快速地与每个系统进行通信。
SaltStack运行方式
1、Local
2、Master/Minion
3、Salt SSH
SaltStack三大功能
1、远程执行
2、配置管理
3、云管理
SaltStack的数据系统
Grains:(存放Minion启动时收集的系统信息)
信息查询:
列出node1的item:salt ‘node1‘ grains.ls
显示items的信息:salt ‘node1‘ grains.items
显示单个item的信息:salt ‘node1‘ grains.item fqdn
salt ‘node1‘ grains.get fqdn
指定在哪个操作系统上执行: salt -G os:CentOS cmd.run ‘w‘
可以在minion中配置grains然后执行操作:
如在/etc/salt/minion中加入:
grains:
roles:
- nginx
或者在/etc/salt下创建grains文件,加入:
roles:
- nginx
重启minion服务:
salt -G roles:nginx cmd.run ‘w‘
或者在top.sls中使用(roles:nginx冒号边上不能有空格,match: grain不能加s):
base:
‘roles:nginx‘:
- match: grain
- apache
Pillar:(在master端指定想要的数据)
查看系统中有哪些pillar:salt "*" pillar.items
需要先打开配置才能看到哦:
sed -i ‘s/# pillar_opts: False/pillar_opts: True/g‘ /etc/salt/master
重启服务
配置并简单使用pillar
sed -i ‘s/pillar_opts: True/# pillar_opts: False/g‘ /etc/salt/master
将/etc/salt/master中的注释放开:
pillar_roots:
base:
- /srv/pillar
重启服务
创建/srv/pillar目录
mkdir -pv /srv/pillar
创建pillar文件:
[[email protected] pillar]# cat apache.sls
{% if grains[‘os‘] == ‘CentOS‘ %}
apache: httpd
{% elif grains[‘os‘] == ‘Debian‘ %}
apache: apache2
{% endif %}
[[email protected] pillar]# cat top.sls
base:
‘*‘:
- apache
查看pillar的items
salt ‘*‘ pillar.items
刷新配置
salt ‘*‘ saltutil.refresh_pillar
测试配置结果
salt -I ‘apache:httpd‘ test.ping
Grains和Pillar的区别
1、存储位置:Grains存储在Minion端,Pillar存储在Master端
2、数据类型:Grains的数据类型是静态数据类型(修改配合需要重启Minion),Pillar是动态数据类型(配置好刷新就可以使用)
3、数据采集更新方式:
Grains在Minion启动时收集,也可以使用saltutil.sync_grains进行刷新
Pillar在Master端定义,指定给对应的Minion,可以使用saltutil.fresh_pillar刷新
4、应用:
Grains存储Minion基本数据,比如用于匹配Minion,自身数据可以用来做资产管理等。
Pillar存储Master指定的数据,只有指定的Minion可以看到,用于敏感数据保存
以上是关于SaltStack数据系统的主要内容,如果未能解决你的问题,请参考以下文章