手记

saltstack grains配置

在minion配置文件中设置grains

1) 在minion服务器上,在配置文件/etc/salt/minion中找到grains节点,然后添加如下内容:

grains:   roles:     - webserver     - nginx   app: pack

2) 在master上查看minion的grains值

salt ‘*’ grains.items # 查看所有grains信息 salt ‘*’ grains.get app # 查看grains中的app信息 salt '*' grains.get ipv4 #查看grains的ipv4信息 salt '*' grains.ls #列出grains的所有key salt 'YTJ159-92' grains.setval hello world #在master上给minion设置grain键值对

3)?使用python文件定义grains

在/srv/salt/_grains文件夹下建python文件,来从minion上取得环境参数
例如server_time.py:

#!/usr/bin/env python # coding=utf-8 from datetime import datetime def get_server_time():     grains = {}     grains['server_time'] = datetime.now().strftime('%Y-%m-%d %H:%M:%S') return grains

然后执行命令将此自定义grains文件同步到minion上命令:

salt ‘*’ saltutil.sync_grains #此命令会将_grains目录下的文件同步到minion服务器上面。 salt ‘*’ grains.item server_time #可以获得各个minion上的服务器时间

可以通过 salt '*' sys.reload_modules 命令来让minion刷新模块

4)?根据grains值来执行命令:

salt -G 'roles:mysql' test.ping?

表示对roles中包含mysql的minion执行test.ping

原文链接:http://outofmemory.cn/saltstack/grains

0人推荐
随时随地看视频
慕课网APP