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

[经验分享] Salt 翻译之Grains

[复制链接]

尚未签到

发表于 2015-11-26 12:31:49 | 显示全部楼层 |阅读模式
  原文地址:http://docs.saltstack.com/topics/targeting/grains.html
  之所以翻译这样子的文章,是因为自己在学下Salt,举手之劳,希望能帮助他人,如果误导了你,在此表示歉意。
  Grains
  Salt 迎来了一个能够获取基础系统的静态信息的接口,之所以被称为grains接口,是因为通过salt获取了minion的基础信息。
  Grains
  当minion第一次启动的时候,它会收集关于系统的所有的静态信息。
  grains 接口是用于salt的核心模块和组件,以便正确的salt minion命令在特定的系统上能够自动可用。
  重要的是需要记住当salt minion启动时那些从它获取到的静态信息,因为这些信息是静态的。这意味着在grains中的信息是不变的,因此这些自然的数据时静态的,所以
  grains的信息是像这样子的,运行内核,或者操作系统。
  匹配所有CentOS 从服务器:
  salt -G 'os:CentOS' test.ping

匹配所有64位CPU从服务器,并且返回可用的核数:
  salt -G 'cpuarch:x86_64' grains.item num_cpus

列出GRAINS
  可用的grains能够使用'grains.ls'模块列出:
  salt '*' grains.lsGrains数据能够使用'grains.items'模块列出:
  salt '*' grains.items

Grains 在从服务器上配置
  Grains的数据能够在从服务器的配置文件中静态的指定,通过增加grains选项和更改选项指定:
  grains:
roles:
- webserver
- memcache
deployment: datacenter4
cabinet: 13
cab_u: 14-15

然后这些在你服务器上的数据能够通过Salt获取,或者使用State 系统匹配。在上面的例子中,可以根据你的系统环境自主设置。
  关于GRAINS需要注意的:
  Grains的配置很容易写,grains接口数据是通过执行所有‘公共’功能模块来获取位于grains包或者自定义的grains目录。返回的信息必须是Python
  dict数据,在字典中的键值是grains的名字,并且它的值是字典中的变量。
  自定义的grains值应该放在一个_grains目录中位于file_roots master指定配置文件中。当运行state.highstate时,他们会被分发到从服务器上。或者
  通过执行saltutil.sync_grains和saltutil.sync_all函数。
  在添加grain信息之前,需要认真考虑grain信息是哪些,哪些需要静态的数据,如果这些数据是可变的,考虑使用Pillar替代。
  


  Grains的例子:
  在Grains包中核心的模块,提供了如何书写Grains的例子。
  https://github.com/saltstack/salt/blob/develop/salt/grains/core.py
  同步Grains
  同步Grains数据可以使用多种方法,当state.highstate调用时可以自动的同步,或者使用saltutil.sync_grains or saltutil.sync_all 函数来同步。
  


  


  




  


  


  


  


  


  


  


  


  


  


  


  


  


  


  


  


  


  

运维网声明 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-143880-1-1.html 上篇帖子: SaltStack学习笔记 下篇帖子: 开源远程登录、远程查看工具你知道几个
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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