自动化管理工具Saltstack之Grains和Pillar

本文介绍了Saltstack中的Grains和Pillar工具。Grains是minion端的静态变量,用于在master端获取minion信息。内容包括Grains工具的开启及使用。此外,还提到了pillar工具的配置,它是用于安全地传递敏感数据到minion。
摘要由CSDN通过智能技术生成

一、Grains工具:

Saltstack里的Grains功能,讲的是minion端的静态变量,在master端通过Grains可以获得minion对应的变量值。
1.打开server2的grains工具包

[root@server2 ~]# cd /etc/salt/
[root@server2 salt]# vim minion
grains:
  roles:
    - httpd

[root@server2 salt]# systemctl restart salt-minion
[root@server1 salt]# salt server2 grains.item roles     ##可以获得对应的变量值

在这里插入图片描述

[root@server1 salt]# mkdir /srv/salt/_grains
[root@server1 salt]# cd /srv/salt/_grains
[root@server1 _grains]# vim my_grains.py
#!/usr/bin/env python
def my_grains():
    grains = {}
    grains['roles'] = 'nginx'
    grains['hello'] = 'world'
    return grains

[root@server3 system]# yum install -y tree
[root@server3 system]# cd /var/cache
[root@server3 cache]# cd salt/
[root@server3 salt]# tree minion/        


[root@server1 _grains]# salt server3 saltutil.sync_grains
[root@server1 _grains]# salt server3 grains.item roles
[root@server1 _grains]# salt server3 grains.item hello

在这里插入图片描述

[root@server1 salt]# ls
_grains  httpd  nginx  top.sls  users
[root@server1 salt]# vim top.sls                   
base:
  'roles:httpd':
    - match: grain
    - httpd.service

  'roles:nginx':
    - match: grain
    - nginx.service

[root@server1 salt]# salt server[2,3] state.highstate

在这里插入图片描述

[root@server1 pillar]# salt -G 'roles:httpd' test.ping
[root@server1 pillar]# salt -G 'roles:nginx' test.ping

在这里插入图片描述

二、pillar工具的配置

[root@server1 salt]# vim /etc/salt/master
 843 pillar_roots:
 844   base:
 845     - /srv/pillar
[root@server1 salt]# systemctl restart salt-master
[root@server1 salt]# mkdir /srv/pillar
[root@server1 salt]# systemctl restart salt-master


[root@server1 salt]# cd /srv/pillar
[root@server1 pillar]# vim web.sls
[root@server1 pillar]# cat web.sls 
{% if grains['fqdn'] == 'server2' %}      如果主机名字等于server2
webserver: httpd
{% elif grains['fqdn'] == 'server3' %}     如果主机名字等于server3
webserver: nginx 
{% endif %}
[root@server1 pillar]# vim top.sls
[root@server1 pillar]# cat top.sls 
base:
  '*':
    - web
[root@server1 pillar]# salt '*' pillar.items

在这里插入图片描述

[root@server1 pillar]# salt '*' saltutil.refresh_pillar
[root@server1 pillar]# salt -I 'webserver:nginx' test.ping
[root@server1 pillar]# salt -I 'webserver:httpd' test.ping

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值