最新消息: 关于Git&GitHub 版本控制你了解多少?
您现在的位置是:群英 > 服务器 > 系统运维 >
grains是什么?如何使用?
linuxe发表于 2020-10-27 15:50 次浏览
什么是grains:
 
是salt的一个组件,负责minion第一次启动的时候采集的静态数据,可以用在salt的模块和其他组件中。每次的minion启动(重启)的时候都会采集。

Grains应用场景1——信息查询(用于查询minion端的IP信息、FQDN信息等)

首先看看SaltStack默认支持的Granis有哪些,使用以下命令:

 

1 salt '*' grains.ls

执行命令后可以看到如下图一样会列出许多选项,只不过这里只是列出默认的Grains选项,但并没有返回需要的值(其中三个箭头所指的分别是fqdn名、IP地址、系统信息,其他选项通过名字大概也能看出意义) 

 

如果需要看到每项的值怎么办呢?执行以下命令即可

1 salt '*' grains.items

 

执行后可以看到每一个item都取到了值

 

如果需要对单项item取值的话,只需要指定那项item即可。如要取得所有minion端的IP,执行以下命令:

1 [root@ns-master-c01 salt]# salt '*' grains.item ipv4
2 ns-master-c01.novalocal:
3     ----------
4     ipv4:
5         - 127.0.0.1
6         - 172.16.0.21

 

Grains应用场景2——匹配minion(如想要在系统为CentOS的minion中执行一条命令)

 

1 salt -G os:CentOS cmd.run 'w' #-G是指使用Grains来进行匹配,os是Grains众多item中的一项

执行结果如下:

 

 

自定义Grains的Item

Grains除了自带一些item外,还可以自定义需要的item。比如我们可以给部分minion定义一个Nginx的item作为标签,然后对含有这些标签的minion进行Nginx的安装。步骤如下:

 

 

1、编辑minion配置文件,找到grains开头的内容,取消注释,增加需要的内容

 

1 grains:  #取消这些行的注释
2   roles: 
3     - webserver  #系统默认,这里保留用于参考
4     - memcache  #同上
5     - nginx  #自定义一个nginx标签

2、重启minion,否则minion数据不会更新

 

3、进行一个匹配测试,注意这里salt不需要再用'*'来指定minion

 

 

标签:安装saltstack
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
相关信息推荐
2020-10-28 11:26:45 关键词:安装saltstack
摘要:学习使用自动运维工具saltstack的过程中,其中state模块是帮助管理员控制minion达到一个预想的状态。换句话来说,我想让minion能够远程执行命令,自动配置环境文件,软件安装、服务启..
2020-10-28 11:24:55 关键词:安装saltstack
摘要:States配置管理 States是Saltstack中的配置语言,在日常进行配置管理时需要编写大量的States SLS文件,而编写这些SLS文件的一般步骤也就是我们平时手动配置一台服务器的步骤:首先安装源..