Saltstack系列4:Saltstack之Grains组件

grains说明

grains是Saltstack最重要的组件之一,grains的作用是手机被控主机的基本信息,这些信息通常都是一些静态类的数据,包括CPU、内核、操作系统、虚拟化等,在服务器端可以根据这些信息进行灵活定制,管理员可以利用这些信息对不同业务进行个性化定制。

例:(janja模板)

grains常用操作命令

匹配内核版本为2.6.32-358.14.1.el6.x86_64的主机

获取所有主机的grains项信息

定义grains数据

定义grains数据的方法有两种,一种为在被控主机定制配置文件:另一种是通过主控端扩展模块API实现。区别是模块更灵活,可以通过Python编程动态定义,而
配置文件只适合相对固定的键与值。下面分别进行说明:

【/etc/salt/minion】

grains配置文件:【/etc/salt/minion.d/hostinfo.conf】

重启salt-minion使之生效: service salt-minion restart
验证:

结果:

首先在主控端编写python代码,然后将该python文件同步到被控端主机,最后刷新生效(即编译Python源码文件成字节码pyc)。

在主控端base目录(在/etc/salt/master中配置的file_roots项,默认在/srv/salt)下生成_grains目录执行install -d /srv/salt/_grains开始编写代码,实现获取被控主机系统允许最大打开文件数(ulimit -n)的grains数据

【/srv/salt/_grains/grains_openfile.py】

最后同步模块到指定被控主机并刷新生效,因为grains比较适合采集静态类的数据,比如硬件、内核信息等,当有动态类的功能需求时,需要进行刷新。
同步操作:

结果:文件同步到被控端的cache目录中

刷新模块:

验证:

结果:

参考资料:

根据刘天斯《Python自动化运维技术与最佳实践》整理

Original: https://www.cnblogs.com/andy6/p/11705022.html
Author: 张冲andy
Title: Saltstack系列4:Saltstack之Grains组件

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/551210/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球