zoukankan      html  css  js  c++  java
  • 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目录下

  • 相关阅读:
    流媒体服务器搭建
    netcore问题总结
    Linux(Debian)网卡设置
    windows服务器让WEB通过防火墙的问题
    经典算法一 --- 过桥问题
    MySQL字段属性介绍
    什么是流程控制
    终于决定了,转行。
    浅析Openflow
    JavaScript 中 this 的详解
  • 原文地址:https://www.cnblogs.com/Mrhuangrui/p/8677839.html
Copyright © 2011-2022 走看看