saltstack中的grains和jinja使用

Grains是SaltStack的一个组件,存放在SaltStack的minion端。
当salt-minion启动时会把收集到的数据静态存放在Grains当中,只有当
minion重启时才会进行数据的更新。
由于grains是静态数据,因此不推荐经常去修改它。
应用场景:
信息查询,可用作CMDB。
在target中使用,匹配minion。
在state系统中使用,配置管理模块。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
方法1
在/etc/salt/minion中定义:
#vim /etc/salt/minion
grains:
roles:

  • apache
  • httpd
    重启salt-minion,否则数据不会更新:
    #systemctl restart salt-minion

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
方法2
在/etc/salt/grains中定义:
#vim /etc/salt/grains:

在这里插入图片描述

在这里插入图片描述
同步数据:
#salt server3 saltutil.sync_grains
查询自定义项:
#salt ‘*’ grains.item roles
在这里插入图片描述
方法3
编写grains模块
在salt-master端创建_grains目录:
#mkdir /srv/salt/_grains
#vim /srv/salt/_grains/my_grain.py
def my_grain():
grains = {}
grains[‘salt’] = ‘stack’
grains[‘hello’] = ‘world’
return grains

在这里插入图片描述
#salt ‘*’ saltutil.sync_grains
#同步grains到minion端
在这里插入图片描述
grains匹配运用
在target中匹配minion:
#salt -G roles:apache test.ping
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
server3部署nginx:
在这里插入图片描述

在这里插入图片描述
发送tar包
在这里插入图片描述

在这里插入图片描述
在top文件中匹配:
#vim /srv/salt/top.sls

在这里插入图片描述

在这里插入图片描述
高度匹配执行
在这里插入图片描述

在这里插入图片描述
结果
在这里插入图片描述
源码安装nginx
在这里插入图片描述
安装nginx
在这里插入图片描述
执行
在这里插入图片描述
在master主机的目录下生成nginx的配置文件和开启服务的文件
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
改init.sls文件,安装服务,创建文件,开启服务
在这里插入图片描述
测试
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
使用nginx用户
在这里插入图片描述

在这里插入图片描述
加入创建用户
在这里插入图片描述
执行测试
在这里插入图片描述
把安装nginx和茶开启服务分开,需要安装就apache.install,需要安装并开启就直接推apache
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
inja模板简介
Jinja是一种基于python的模板引擎,在SLS文件里可以直接使用jinja
通过jinja模板可以为不同服务器定义各自的变量。
模板来做一些操作。
两种分隔符: {% … %} 和 {{ … }},前者用于执行诸如 for 循环 或
赋值的语句,后者把表达式的结果打印到模板上。
调用,生成文件

Jinja最基本的用法是使用控制结构包装条件:
#vim /srv/salt/test.sls
/mnt/testfile:
file.append:
{% if grains[‘fqdn’] == ‘server2’ %}

  • text: server2
    {% elif grains[‘fqdn’] == ‘server3’ %}
  • text: server3
    {% endif %}
    在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
jinja的使用
Jinja在普通文件的使用:
#vim /srv/salt/apache.sls
/etc/httpd/conf/httpd.conf:
file.managed:

  • source: salt://httpd.conf

  • template: jinja

  • context:
    NAME: server2

    在这里插入图片描述
    vim /srv/salt/files/index.html
    在这里插入图片描述
    执行
    在这里插入图片描述
    master主机的文件和调用文件
    在这里插入图片描述
    检测
    在这里插入图片描述
    改master主机的http.conf文件,调用
    在这里插入图片描述
    加入jinja
    在这里插入图片描述
    执行
    在这里插入图片描述
    查看结果
    在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值