• SaltStack数据系统-Grans详解


    1:Grains是系统的一个组件,存放着minion启动时收集的系统底层的一些信息,每次minion启动的时候,会进行系统的采集,将其保存下来,在以后的生命周期中不会重新搜集,除非重启~

    #查看grains搜集的所有的名称
    salt 'node3.crazylinux.xyz' grains.ls
    #查看grains搜集的所有的名称以及值
    salt 'node3.crazylinux.xyz' grains.items
    #获取fqdn名
    salt 'node3.crazylinux.xyz' grains.get fqdn
    

    2:Grains应用场景

    • grains可以在state系统中使用,用于配置管理模块
    • grains可以在target中使用,用来匹配Minion,比如操作系统,使用-G选项
    • grains可以用于信息查询,grains保存这收集到客户端的详细信息,可用作CMDB!

    3:Grains应用示例(建议使用第二种方法)

    • 在node3Minion端自定义roles,共有两种方法
    • 1:写在/etc/salt/minion配置文件中
    vim /etc/salt/minion
    #修改内容如下
    grains:
      roles: apache
      env:
        - webserver
    #在master端使用如下命令进行测试
    salt 'node3.crazylinux.xyz' grains.get env
    #返回结果如下
    node3.crazylinux.xyz:
        - webserver
    salt 'node3.crazylinux.xyz' grains.get roles
    #返回结果如下
    node3.crazylinux.xyz:
        apache
    
    • 2:写在/etc/salt/grains配置文件中
    #直接定义角色名称和值就可以了,注意冒号后一定要有空格
    cloud: openstack
    #执行如下命令进行测试
    salt 'node3.crazylinux.xyz' grains.get cloud
    #返回结果如下
    node3.crazylinux.xyz:
        openstack
    
    • 3:此时我们可以用角色匹配来执行命令,此时我们可以灵活使用grains来进行远程执行
    salt -G  roles:apache cmd.run 'uptime'
    返回结果如下
    node3.crazylinux.xyz:
         23:04:21 up  5:45,  2 users,  load average: 0.00, 0.01, 0.05
    #也可以用来重启httpd服务
    salt -G  roles:apache cmd.run 'systemctl restart httpd'
    
    • 4:也可以使用内置的grains
    #此时将同时匹配node2和node3,在所有centos的系统中执行一个命令
    salt -G os:CentOS cmd.run 'uptime'
    #返回结果如下
    node3.crazylinux.xyz:
         23:06:48 up  5:47,  2 users,  load average: 0.00, 0.01, 0.05
    node2.crazylinux.xyz:
         01:55:55 up  5:55,  2 users,  load average: 0.00, 0.01, 0.05
    
  • 相关阅读:
    五子棋
    团队项目:五子棋
    101空降师506团2营E连全体成员
    团队作业七
    作业六
    团队作业(五)——旅游行业的手机App
    团队任务四(无图)
    团队作业三(补二)
    菜的抠脚团队正式成立
    团队作业七
  • 原文地址:https://www.cnblogs.com/skymyyang/p/8182485.html
Copyright © 2020-2023  润新知