码迷,mamicode.com
首页 > 其他好文 > 详细

saltstack Grains组件

时间:2018-03-30 20:11:14      阅读:174      评论:0      收藏:0      [点我收藏+]

标签:ast   serve   tac   deploy   port   自动   server   salt   emc   

saltstack Grains组件

GRAINS组件说明

GRAINS组件是saltstack中非常重要的一个组件,其主要用于记录Minion的一些静态信息。如比:CPU、内存、磁盘、网络等
grains信息是每次客户端启动后自动上报给master的,一旦这些静态信息发生改变需要重启minion或者重新同步grains (Master执行: salt ‘*‘ state.highstate)
除此之外我们还可以自定义Grains的一些信息。自定义的方法有三种:
1、通过Minion配置文件定义
2、通过Grains相关模块定义
3、通过python脚本定义

#查看所有的itmes项
salt '*' grains.items
salt '*'  grains.item ipv4
salt '*'  grains.item os osrelease osfinger

自定义Grains

通过Minion配置文件配置

在Minion端我们可以通过查看/etc/salt/minion配置文件中,查找grains可以查看到相关注释的示例
便于配置管理,我们不一般不会选择在该文件上进行修改,而在minion include的目录下/etc/salt/minion.d目录下单独创建grains.conf文件

cat /etc/salt/minion.d/grains.conf
grains:
  roles:
    - webserver
    - memcache
  deployment: datacenter4
  cabinet: 13
  cab_u: 14-15
# minion端
systemctl restart salt-minion
# master端
salt '*' state.highstate
salt '*'  grains.item roles

使用自定义python脚本获取grains信息

默认自定义脚本需要存放在master的/srv/salt/_grains目录下,这里使用mkdir -p创建即可

获取系统时间的脚本内容如下

cat /srv/salt/_grains/get_time.py
#!/usr/bin/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
# 使用sync_grains命令同步脚本到minion主机上去
salt '*' saltutil.sync_grains
salt '*' grains.item server_time

执行同步命令后,自定义脚本会上传到minion的/var/cache/salt/minion/extmods/grains目录下

saltstack Grains组件

标签:ast   serve   tac   deploy   port   自动   server   salt   emc   

原文地址:https://www.cnblogs.com/Mrhuangrui/p/8677839.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!