zoukankan      html  css  js  c++  java
  • 2、Saltstack的数据系统

     
    一、Grains
      grains是salt用来收集minion端底层系统信息的接口。比如,操作系统type、域名 、IP地址、内存及其他相关系统属性信息等。存储在minion端,用于保存minion端数据信息。minion启动时才加载grains信息,所以他时静态的,Grains用于minion端信息查询。
    通过grains.ls查看grains所支持查询的信息名称:
    #salt '*' grains.ls
    通过grais.items查看所有grains数据
    #salt '*' grains.iterms 
    查询指定grains名称的信息。如查看操作系统类型
    方法1.
    [root@master salt]# salt '*' grains.item os
    kubernetes-master:
    ----------
    os:
    CentOS
    minion:
    ----------
    os:
    CentOS
    kubernetes-minion:
    ----------
    os:
    CentOS
    方法2. get方法
    [root@master salt]# salt '*' grains.get os
    kubernetes-minion:
    CentOS
    minion:
    CentOS
    grains在minion端配置
    #vim /etc/salt/minion #指定minion的角色
    grains:
      roles:
        - nginx
    如果觉得该上面的配置文件也可以直接在/etc/salt/目录下创建一个名为grains的文件。
    echo 'roles: nginx'>/etc/salt/grains
     (效果与修改/etc/salt/minion的效果相同),角色名 必须是唯一的。修改完成后重启minion端生效
    在master端查看:
    [root@kubernetes-master salt]# salt '*' grains.get roles
    kubernetes-minion:
    nginx
     
    数据采集方式:
      minion启动时手偶记,也可以使用saltutil.sync_grains进行刷新
      通过grains来匹配minion
    #salt -G roles:nginx cmd.run w
     
    二、Pillar
      Pillar是salt用来给minion指定它想要的数据。存储在master端,存放需要提供给minion的信息(动态)。Pillar的配置在master端,其默认是关闭的。
    编辑/etc/salt/master配置文件打开pillar_roots的配置
    #vim /etc/salt/master
    pillar_roots:
      base:
        - /srv/pillar 
     
    应用场景:
    • 敏感信息:每个minion只能访问master分配给自己的pillar信息
    • 变量:差异化信息
    • 其他任何数据
    • 可以在target及state中使用
    数据采集方式:
      在master端定义,指定给对应的Minion,使用saltutil.refresh_pillar刷新
    例:
    #cd /srv/pillar
    # cat apache.sls
    {% if grains['os'] == 'CentOS' %}
    apache: https
    {% elif grains['os'] == 'Debian' %}
    apache: apache2
    {% endif %}
    # cat top.sls
    base:
    '*':
    - apache 
     要使用pillar信息,必须刷新pillar
    #salt '*' saltutil.refresh_pillar
    kubernetes-minion:
    True
    kubernetes-master:
    True
    
     获取定义好的pillar信息。
    # salt '*' pillar.items

      

  • 相关阅读:
    ABP源码编译及部署
    nopCommerce源码本地部署、配置及语言包导入
    MongoDB查询转对象时出错 Element '_id' does not match any field or property of class
    找不到资产文件 project.assets.json
    Docker中运行.net core 验证码不显示
    css设置input不显示光标
    js中的==和===
    Navicat连接mysql(高级选项配置)
    js回调函数,检测这个值是否重复
    layer数据表格换行
  • 原文地址:https://www.cnblogs.com/xhyan/p/6762454.html
Copyright © 2011-2022 走看看