摘要:建站服务器 grains说明 grains是Saltstack最重要的组件之一,grains的作用是手机被控主机的基本信息,这些信息通常都是一些静态类的数据,包括
建站服务器 grains说明
grains是Saltstack最重要的组件之一,grains的作用是手机被控主机的基本信息,这些信息通常都是一些静态类的数据,包括CPU、内核、操作系统、虚拟化等,在服务器端可以根据这些信息进行灵活定制,管理员可以利用这些信息对不同业务进行个性化定制。
例:(janja模板)
{% if grains['os'] == 'Ubuntu' %} host: {{ grains['host'] }} {% elif grains['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.item roles deployment cabinet
结果:
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.item max_open_file
结果:
wx: ---------- max_open_file: 1024
参考资料:
根据刘天斯《Python自动化运维技术与最佳实践》整理
相关文章推荐
虚拟主机的专业参数,分别都是什么意思?2022-09-09
中非域名注册规则是怎样的?注册域名有什么用处? 2022-01-10
HostEase新年活动促销 美国/香港主机全场低至五折2021-12-28
HostGator下载完整备份教程分享2021-12-28
Flink中有界数据与无界数据的示例分析2021-12-28