随笔 - 27  文章 - 2  评论 - 0  阅读 - 25912

saltstack 数据系统之 grains 简单学习

saltsatck 主要的使用场景有两个

1.远程执行

2.配置管理

3.云管理

目前云管理还不太成熟,所以现在使用最多的就是前两个。接下来要分析的就是salt 里面非常重要的两个数据系统 grains、pillar 之一的 grains。

grains 是minion 端获取客户端本地相关信息,在每次 minion 启动的时候获取一次,可以理解为静态信息,像 ip,主机名,CPU等等信息都会获取。

 

一些关于 grains 的命令:

salt  'host2'  grains.ls    # 获取host2中都有哪些 grains 信息

salt  'host2'  grains.items    # host2 主机中所有的grains 详细信息

salt  'host2'  grains.item  os    # 查看某一条 grains 信息,也可以使用  grains.get  os 

 

实际中我们比较常用的是自定义客户端的 grains 信息,比如定义角色,方法很简单,只要在 minion 端的配置文件中关于 grains 的地方注释去掉即可

grains:

  role: nginx

  env: test

配置完重启minion ,再在 master 上 使用 salt  'host2' grains.get  role  就可以得到 nginx 的返回。

还有一种比较常用的自定义 grains 信息是使用文件方式,在/etc/salt/下新建 grains 文件,文件使用 yaml 格式,比如上面的配置写到文件中如下:

role: nginx

env: test

 

使用 grains 的地方非常多,比如你指定目标的时候可以使用 grains :

salt  -G  'role:nginx'  cmd.run  'uptime'    #  在grains 角色为 nginx 的所有主机上执行命令 uptime

 

grains 可以在我们后期使用中发挥很大的作用,关于其更深入的使用后续会持续更新。

posted on   杜景喜  阅读(178)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示