Saltstack的Grains和Pillar管理工具

接上个实验的实验环境

  • grains工具(静态)
  • grains是minion端的静态变量,在master端通过grains可以获得minion对应的变量值。静态变量一定要同步
    有三种方式
  • 第一种方式
  • 在server3上打开grains工具包:
cd /etc/salt/
 vim minion
grains:
  roles:
    - apache

在这里插入图片描述
在这里插入图片描述

  • 修改文件后要重启:systemctl restart salt-minion
    在这里插入图片描述
  • 在server2上测试,可以获得相应的变量值:
 salt server3 grains.item roles
 salt server3 grains.item os

在这里插入图片描述

  • 第二种方式
  • 在server4上的/etc/salt/创建文件:
vim grains
roles: nginx

在这里插入图片描述

  • 在server2上刷新:salt server4 saltuil.sync_grains
  • 可以获得相应的变量:
salt server4 grains.item roles
salt '*' grains.item roles

在这里插入图片描述

  • 第三种方式
  • 在serever1的/srv/salt下创建目录: mkdir _grains
  • 进入到该目录后,创建python模块脚本:my_grains.py
#!/usr/bin/env python
def my_grains():
    grains = {'ll': 'aa','hello': 'nihao'}
    grains['salt'] = 'stack'
    return grains

在这里插入图片描述

  • 刷新:salt '*' saltutil.sync_grains
  • 测试:
 salt '*' grains.item hello
 salt '*' grains.item salt
 salt -G 'roles:apache' test.ping

在这里插入图片描述
在这里插入图片描述

  • 编辑top.sls文件:
base:
  'roles:apache':
    - match: grain
    - apache.service
  'roles:nginx':
    - match: grain
    - nginx.service

在这里插入图片描述

  • 测试:
salt '*' state.highstate
salt server3 grains.item fqdn

在这里插入图片描述
在这里插入图片描述

  • pillar工具(动态)
    pillar只定义在master端,不会定义到minion端;一般用于敏感数据
  • 在master端将pillar工具打开:
vim /etc/salt/master
pillar_roots:
  base:
    - /srv/pillar

在这里插入图片描述
修改完配置文件后重启:systemctl restart salt-master

  • 在 /srv/创建目录:mkdir pillar
  • 进入到创建的目录,创建web目录,在web目录中创建文件:
vim vars.sls
{% if grains['fqdn'] == 'server2' %}
webserver: httpd
state: master
{% elif grains['fqdn'] == 'server3' %}
webserver: nginx
state: backup
{% endif %}

在这里插入图片描述
在这里插入图片描述

  • 在pillar目录下,创建top.sls文件
base:
  '*':
    - web.vars

在这里插入图片描述

  • 刷新:salt '*' saltutil.refresh_pillar
  • 测试:
salt -I 'state:master' test.ping
salt -I 'state:backup' test.ping

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值