欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

SaltStack--数据系统

程序员文章站 2022-07-01 23:08:31
saltstack数据系统 数据系统Grains 1、Grains是SaltStack收集的有关底层管理系统的静态信息。包括操作系统版本、域名、IP地址、内存、内核、CPU、操作系统类型以及许多其他系统属性。Minion 收集的信息,可以作为Master端匹配目标。2、如果需要自定义grains,需 ......

saltstack数据系统

数据系统grains

1、grainssaltstack收集的有关底层管理系统的静态信息。包括操作系统版本、域名、ip地址、内存、内核、cpu、操作系统类型以及许多其他系统属性。minion 收集的信息,可以作为master端匹配目标。
2、如果需要自定义grains,需要添加到salt minion/etc/salt/grains文件中(配置文件中定义的默认路径),也可以直接写在配置文件/etc/salt/minion

grains官方文档

1)资产管理,信息查询

#列出所有可用的grains状态模块
[root@salt-master ~]# salt '*' grains.ls
#打印所有状态信息
[root@salt-master ~]# salt '*' grains.items
#列出每台minion的本地ip地址
[root@salt-master ~]# salt '*' grains.item fqdn_ip4
#列出每台minion的操作系统
[root@salt-master ~]# salt '*' grains.item os

2)用于匹配

[root@salt-master ~]# salt -g 'os:centos' test.ping
[root@salt-master ~]# salt -g 'localhost:salt-minion01' test.ping

3)minion自定义grains

#1.修改配置文件,自定义grains
[root@salt-minion01 ~]# vim /etc/salt/minion
grains:
  roles:
    - webserver
    - memcache
  ipaddr:
    - 192.168.1.32

#2.重启minion
[root@salt-minion01 ~]# systemctl restart salt-minion

#3.master上测试
[root@salt-master ~]# salt -g 'ipaddr:192.168.1.32' test.ping 
salt-minion01:
    true

4)grains优先级问题

1、grains默认核心信息
2、自定义写在/etc/salt/grains文件中的
3、自定义写在/etc/salt/minion文件中的

数据系统pillar

pillar是动态的,pillar存储在master上,提供给minion
pillar主要记录一些加密信息,可以确保这些敏感数据不被其他minion看到。比如:软件版本号、用户名密码等。存储格式都是yaml格式

1)在master端定义pillar

[root@salt-master ~]# vim /etc/salt/master
pillar_roots:
  base:
    - /srv/pillar

[root@salt-master ~]# mkdir /srv/pillar
[root@salt-master ~]# cat /srv/pillar/zabbix.sls 
zabbix_server: 192.168.1.11
zabbix_name: zabbix.examp.com

2)编写topfile指定minion端可以使用

[root@salt-master ~]# cat /srv/pillar/top.sls 
base:
  'salt-minion01':
    - zabbix

3)刷新pillar

[root@salt-master ~]# salt '*' saltutil.refresh_pillar

4)获取对应pillar

[root@salt-master ~]# salt '*' pillar.items
salt-minion01:
    ----------
    zabbix_name:
        zabbix.examp.com
    zabbix_server:
        192.168.1.11
salt-minion03:
    ----------
salt-minion02:
    ----------

#获取指定的key
[root@salt-master ~]# salt 'salt-minion01' pillar.item zabbix_server
salt-minion01:
    ----------
    zabbix_server:
        192.168.1.11

说明:如果master更新了新的数值,需要刷新pillarminion才可以获取

pirrargrains对比

类型     数据采集方式   应用场景                   定义位置
grains   静态         minion启动时收集  数据查询  目标选择  配置管理   minion
pillar   动态         master进行自定义  目标选择  配置管理  敏感数据   master