Chinaunix首页 | 论坛 | 博客
  • 博客访问: 14634
  • 博文数量: 3
  • 博客积分: 10
  • 博客等级: 民兵
  • 技术积分: 40
  • 用 户 组: 普通用户
  • 注册时间: 2011-05-21 16:00
个人简介

Valar Morghulis

文章分类
文章存档

2016年(3)

我的朋友
最近访客

分类: 架构设计与优化

2016-09-20 21:00:26

问题起因:
    grains很强大,但是在启用双master时,grains更新存在BUG。
   minion状态异常时也可能存在问题。
现状:
    pillar从官方介绍上看是比较合适的解决方法,但是从搜索到的大部分资料上未有详解。

解决思路:
    pillar的优势在收敛管理信息,故是否可在master上全面定义pillar,然后由各自的grains及jinja来解决此类问题?
pillar的sls:
group-1:
  - 65.13.18.131
  - 65.13.18.132
group-2:
  - 117.223.12.34
  - 117.223.12.32
jinja模板代码:
{% set cacheips = salt['pillar.get'](grains['cachegroup']) %}
{%- if cacheips -%}
  {%- set ips = cacheips -%}
{% else %}
  {%- set ips = [ grains['ip'] ] -%}
{%- endif -%}
....
这样,一些基本不改变的值由grains来管理,然后通过jinja调用每台机器的grains来读取集中管理的pillar中对应的需要的值。

参考文章:

(这个官方的practise也不错)






阅读(659) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~