saltstack自动化运维系列②之saltstack的数据系统
来源:互联网 发布:linux命令强制关机 编辑:程序博客网 时间:2024/05/01 04:45
grains:搜集minion启动时的系统信息,只有在minion启动时才会搜集,grains更适合做一些静态的属性值的采集,例如设备的角色(role),磁盘个数(disk_num)等诸如此类非常固定的属性,另一个作用可以用来匹配minion
列出所有的grains选项
# salt '*' grains.ls
列出所有grains和内容
# salt 'mini1' grains.items
显示单个grains内容,get方法直接显示值,item方法会把条目名也显示出来
获取单独的变量值fqdn名
# salt 'node2.chinasoft.com*' grains.item fqdn
node2.chinasoft.com:
----------
fqdn:
node2.chinasoft.com
[root@mini1 ~]# salt 'node2*' grains.get fqdn
node2.chinasoft.com:
node2.chinasoft.com
# salt 'node2*' grains.get os
node2.chinasoft.com:
CentOS
[root@mini1 ~]# salt -G os:CentOS cmd.run 'w'
node2.chinasoft.com:
11:49:06 up 4 days, 3:15, 2 users, load average: 0.00, 0.00, 0.00
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root tty1 - 23Dec16 13days 0.25s 0.25s -bash
root pts/1 192.168.3.84 Thu20 5:51 0.02s 0.02s -bash
mini1:
11:49:07 up 2 days, 6:25, 1 user, load average: 0.00, 0.04, 0.00
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root pts/2 192.168.3.84 Thu20 1.00s 0.58s 0.52s /usr/bin/python
使用grains匹配minion主机
模拟使用grains匹配minion,-G代表指定grains匹配
vim /etc/salt/minion
打开grain的配置
grains:
roles:
- webserver
- memcache
# /etc/init.d/salt-minion restart
# salt -G 'roles:memcache' cmd.run 'echo hehe'
mini1:
hehe
添加grains,默认会到/etc/salt/grains中读取,手动添加到/etc/salt/grains即可
如添加自定义角色
# cat /etc/salt/grains
web: nginx
# salt -G web:nginx cmd.run 'w'
mini1:
12:25:05 up 2 days, 7:01, 1 user, load average: 0.04, 0.01, 0.00
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root pts/2 192.168.3.84 Thu20 0.00s 0.64s 0.50s /usr/bin/python
[root@mini1 ~]# salt '*' grains.item roles
mini1:
----------
roles:
- webserver
- memcache
node2.chinasoft.com:
----------
roles:
pillar的使用及配置
要使用pillar,首先要修改master中的配置
更改配置文件打开pillar,默认是关闭的
vim /etc/salt/master
pillar_opts: True
pillar_roots:
base:
- /srv/pillar
mkdir /srv/pillar
查看master自带的pillar条目,实际生产是不打开的,自带的pillar用处不大,所以一般都会设置成false,使用自己定义的pillar
手动定义一个pillar
# cat /srv/pillar/apache.sls{% if grains['os'] == 'CentOS' %}apache: httpd{% elif grains['os'] == 'Debian' %}apache: apache2{% endif %}# cat /srv/pillar/top.sls base:'*':- apache
刷新策略
# salt '*' saltutil.refresh_pillar
# salt '*' pillar.items
mini1:
----------
apache:
httpd
node2.chinasoft.com:
----------
apache:
grains与pillar的区别
grains存储的是静态、不常变化的内容;pillar则相反,存储的是动态数据
grains是存储在minion本地,可以使用saltutil.sync_grains刷新;而pillar存储在master本地,可以使用saltutil.refresh_pillar来刷新
minion有权限操作自己的grains值,如增加、删除,可以用来做资产管理等;pillar存储在master中指定数据,只有指定的minion才可以看到,可以用来存储敏感数据,minion无权修改
- saltstack自动化运维系列②之saltstack的数据系统
- saltstack自动化运维系列③之saltstack的常用模块使用
- saltstack自动化运维系列④之saltstack的命令返回结果mysql数据库写入
- saltstack自动化运维系列⑤之saltstack的配置管理详解
- saltstack自动化运维系列⑩SaltStack二次开发初探
- saltstack自动化运维系列11基于etcd的saltstack的自动化扩容
- saltstack自动化运维系列①之saltstack服务安装及简单使用
- saltstack自动化运维系列⑥SaltStack实践安装配置HAproxy的Keepalived
- saltstack自动化运维系列⑥SaltStack实践安装配置HAproxy
- saltstack自动化运维系列⑦SaltStack实践配置管理安装zabbix
- saltstack自动化运维系列⑧SaltStack实践配置管理安装nginx-1.10.3
- saltstack自动化运维系列12配置管理安装redis-3.2.8
- saltstack数据系统-Grains
- Saltstack数据系统-Pillar
- SaltStack实战之数据系统-Grains
- SaltStack实战之数据系统-Pillar
- 自动化工具神器之saltstack
- Saltstack自动化的学习笔记
- TP5 二维码解码实现(php二维码识别)window系统
- UNP(卷2:进程间通信)—— 第7、8、9章:互斥锁、条件变量、读写锁、记录上锁
- Windows 10 16251 添加的 api
- Unreal Engine 4学习笔记:基础操作(复刻CS地图)
- saltstack自动化运维系列①之saltstack服务安装及简单使用
- saltstack自动化运维系列②之saltstack的数据系统
- saltstack自动化运维系列③之saltstack的常用模块使用
- saltstack自动化运维系列④之saltstack的命令返回结果mysql数据库写入
- saltstack自动化运维系列⑤之saltstack的配置管理详解
- saltstack自动化运维系列⑥SaltStack实践安装配置HAproxy
- saltstack自动化运维系列⑥SaltStack实践安装配置HAproxy的Keepalived
- saltstack自动化运维系列⑦SaltStack实践配置管理安装zabbix
- saltstack自动化运维系列⑧SaltStack实践配置管理安装nginx-1.10.3
- saltstack自动化运维系列⑩SaltStack二次开发初探