Saltstack系列4:Saltstack之Grains组件
建站服务器 grains说明
grains是Saltstack最重要的组件之一,grains的作用是手机被控主机的基本信息,这些信息通常都是一些静态类的数据,包括CPU、内核、操作系统、虚拟化等,在服务器端可以根据这些信息进行灵活定制,管理员可以利用这些信息对不同业务进行个性化定制。
白水网站建设公司创新互联,白水网站设计制作,有大型网站制作公司丰富经验。已为白水上千家提供企业网站建设服务。企业网站搭建\外贸网站建设要多少钱,请找那个售后服务好的白水做网站的公司定做!例:(janja模板)
{%ifgrains['os']=='Ubuntu'%} host:{{grains['host']}} {%elifgrains['os']=='CentOS'%} host:{{grains['fqdn]}} {%endif%}grains常用操作命令
匹配内核版本为2.6.32-358.14.1.el6.x86_64的主机
salt-G'kernelrelease:2.6.32-358.14.1.el6.x86_64'cmd.run'uname-a'
获取所有主机的grains项信息
salt'*'grains.ls定义grains数据
定义grains数据的方法有两种,一种为在被控主机定制配置文件:另一种是通过主控端扩展模块API实现。区别是模块更灵活,可以通过Python编程动态定义,而
配置文件只适合相对固定的键与值。下面分别进行说明:
【/etc/salt/minion】
default_include:minion.d/*.conf#自定义grains配置文件路径
grains配置文件:【/etc/salt/minion.d/hostinfo.conf】
grains: roles: -webserver -memcache deployment:datacenter4 cabinet:13
重启salt-minion使之生效:
service salt-minion restart
验证:
salt'wx'grains.itemrolesdeploymentcabinet
结果:
salt'wx'saltutil.sync_all
结果:文件同步到被控端的cache目录中
/var/cache/salt/minion/extmods/grains/grains_openfile.py /var/cache/salt/minion/files/base/_grains/grains_openfile.py #注:/var/cache/salt/minion/extmods/grains/为扩展模块文件最终存放位置,刷新模块后将在同路径下生产字节码pyc;/var/cache/salt/minion/files/base/_grains/为临时存放位置。
刷新模块:
salt'wx'sys.reload_modules #生成pyc字节码 /var/cache/salt/minion/extmods/grains/grains_openfile.py /var/cache/salt/minion/extmods/grains/grains_openfile.pyc /var/cache/salt/minion/files/base/_grains/grains_openfile.py
验证:
salt'wx'grains.itemmax_open_file
结果:
wx: ---------- max_open_file: 1024
参考资料:
根据刘天斯《Python自动化运维技术与实践》整理
当前文章:Saltstack系列4:Saltstack之Grains组件
路径分享:http://scyanting.com/article/cpdsej.html