• saltstack Grains组件


    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目录下

  • 相关阅读:
    linux网络编程之扫盲
    当lov变化时得到lov变化的值
    动态设置OAMessageChoiceBean值
    RSA host key for HOST has changed and you have requested strict checking
    64位整数的编译错误
    CSS让内容水平居中(固定宽度)
    如何计算亮度值
    adb新参数支持Android 2.2安装到SD卡上
    NSDateFormatter formatting
    Win7系统下Safari不能打开网页的解决方法
  • 原文地址:https://www.cnblogs.com/Mrhuangrui/p/8677839.html
Copyright © 2020-2023  润新知