设为首页 收藏本站
查看: 1240|回复: 0

[经验分享] Saltstack整合reclass测试

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2014-11-6 08:09:08 | 显示全部楼层 |阅读模式
Salt整合reclass测试

reclass基本介绍
reclass安装
reclass配置及测试
reclass与salt整合测试
总结
reclass基本介绍
项目地址: https://github.com/madduck/reclass/tree
手册地址: http://reclass.pantsfullofunix.net/index.html
reclass, 全称Recursive External Node Classification, 可以与自动化管理工具结合, 为其提供ENC服务. reclass作者认为, ENC软件应该提供如下两个功能:

提供组(group)中节点(node)及组关系(group memberships)的信息
提供节点指定的信息, 如变量
对此, reclass定义了如下四种元素:

元素        描述
node        一个节点, 通常是一个计算机
class        一个分类(categroy),tag,特性(feature)或角色(role), 支持嵌套和继承
application        一组行为(behaviour)
parameter        节点指定的变量,可以通过class进行继承
reclass在继承中, 如果parent中变量不存在, 则新增,如果存在同一变量, 类型为字符串, 则会进行覆盖. 如果变量为list类型, 则进行追加

reclass安装
git clone https://github.com/madduck/reclass.git
cd reclass
python setup.py install
reclass配置及测试
测试目标: 通过reclass实现ntp变量的灵活扩展

通用信息, /srv/reclass/classes/ntp-common.yml

parameters:
  ntp:
    ntpserver:
      - 0.asia.pool.ntp.org
      - 1.asia.pool.ntp.org
redhat系统继承ntp-common并进行一些特殊定制, /srv/reclass/classes/ntp-redhat.yml

classes:
  - ntp-common

parameters:
  ntp:
    pkg: ntp
    service: ntpd
    ntpserver:
      - 2.asia.pool.ntp.org
      - 3.asia.pool.ntp.org
配置node, /srv/reclass/nodes/salt-minion-01.yml

classes:
  - ntp-redhat
测试节点分类信息

bc(sourceCode bash). reclass -b /srv/reclass --nodeinfo salt-minion-01

输出结果

__reclass__:
  environment: base
  name: salt-minion-01
  node: salt-minion-01
  timestamp: Mon Feb 17 09:29:53 2014
  uri: yaml_fs:///srv/reclass/nodes/salt-minion-01.yml
applications: []
classes:
- ntp-common
- ntp-redhat
environment: base
parameters:
  ntp:
    ntpserver:
    - 0.asia.pool.ntp.org
    - 1.asia.pool.ntp.org
    - 2.asia.pool.ntp.org
    - 3.asia.pool.ntp.org
    pkg: ntp
    service: ntpd
从输出结果看, 与reclass手册描述一致

reclass与salt整合测试
Salt在0.17版本中,增加了 reclass的支持 .

Salt与reclass元素对应关系

reclass元素        Salt术语
nodes        hosts
classes        (none)
applications        states
parameters        pillar
测试目标: 通过reclass为salt minion提供对应的ntp pillar信息

测试环境: Salt Master/Minion结构, 版本0.17.5

配置salt master, /etc/salt/master


......
reclass: &reclass
storage_type: yaml_fs
inventory_base_uri: /srv/reclass

master_tops:
  reclass: *reclass

ext_pillar:
  - reclass: *reclass
重启salt master

service salt-master restart
测试salt-minion-01对应的ntp pillar

salt 'salt-minion-01' pillar.item ntp
输出结果

salt-minion-01:
    ----------
    ntp:
        ----------
        ntpserver:
            - 0.asia.pool.ntp.org
            - 1.asia.pool.ntp.org
            - 2.asia.pool.ntp.org
            - 3.asia.pool.ntp.org
        pkg:
            ntp
        service:
            ntpd
达成测试目标

总结
salt pillar当前较弱, 只支持include, 并不支持extend等更高级的功能. 通过与reclass的整合, 借助reclass灵活的继承功能(支持多级继承), 为Salt提供专业的ENC服务, 弥补了pillar的不足.

当前reclass的功能相对较弱, 不过可以看到的是如Class subdirectories这类实用的功能已经在to-do list中, 期待reclass功能更为强大.


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-27161-1-1.html 上篇帖子: Saltstack中关于ID的那些故事 下篇帖子: Saltstack之自定义grains
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表