• SaltStack Grains 和 Pillar


    Grains:

    (1) grains 是服务器的一系列粒子信息,也就是服务器的一系列物理,软件环境信息
    (2) grains 是 minion 启动时收集到的一些系统信息,比如操作系统版本、内核版本、CPU、内存、硬盘、设备型号等
    (3) grains 信息并不是动态的,并不会实时变更,它是在 minion 启动时收集到的,但我们也可以自定义 grains 信息

    [root@localhost ~]$ salt '192.168.119.140' grains.ls          # 列出这台 minion 上所有 grains 项目的名字
    [root@localhost ~]$ salt '192.168.119.140' grains.items       # 列出这台 minion 上所有 grains 项目的名字和值
    [root@localhost ~]$ salt '192.168.119.140' grains.item os     # 列出这台 minion 上指定 grains 项目的值
    [root@localhost ~]$ salt -G 'os:CentOS' cmd.run 'hostname'    # 我们可以通过grains信息来指定对哪些符合条件的minion进行操作

     
    Pillar:

    (1) pillar 跟 grains 的结构一样,也是一个字典格式,数据通过 key:value 的格式进行存储
    (2) 不同点:grains 是存储在 minion 本地,而 pillar 是存储在 master 本地
    (3) 不同点:grains 是 minion 启动时自动收集的,而 pillar 需要我们在 master 上自定义

    [root@localhost ~]$ vim /etc/salt/master    # 编辑SaltStack服务端配置文件
    #pillar_roots:                              # 定义存放pillar信息的目录,如果不定义,则默认是在/srv/pillar
    #  base:                                    # /srv/pillar目录默认是不存在的,需要我们自行创建
    #    - /srv/pillar                          # 如果我们修改了SaltStack服务端配置文件,需要重启SaltStack服务端
    [root@localhost ~]$ mkdir /srv/pillar           # 创建存放pillar信息的目录
    [root@localhost ~]$ cat /srv/pillar/test.sls    # 自定义pillar信息,注意使用sls文件
    role: nginx
    conf: /usr/local/nginx/conf/nginx.conf
    domain: www.abc.com
    [root@localhost ~]$ cat /srv/pillar/top.sls     # 定义pillar入口配置文件,入口配置文件的名字固定是top.sls
    base:
      '192.168.119.140':                            # 指定针对哪些主机来使用sls文件
        - test                                      # 指定加载哪些sls文件来获取pillar信息
    [root@localhost ~]$ salt '*' saltutil.refresh_pillar           # 对所有主机刷新pillar信息
    [root@localhost ~]$ salt -I 'role:nginx' cmd.run 'hostname'    # 这样我们就可以针对pillar信息来对符合条件的主机进行操作了
    192.168.119.140:
        localhost.localdomain

        

  • 相关阅读:
    Ext的组件结构分析(转)
    分析模式 责任模式
    Nhibernate学习起步之manytoone篇(转 明了篇)
    企业开发框架NHibernate和Spring.Net简介3
    企业开发框架NHibernate和Spring.Net简介4
    NHibernate Cascades: the different between all, alldeleteorphans and saveupdate
    XML与数据库
    企业开发框架NHibernate和Spring.Net简介1
    python对函数的理解
    seleniumwebdriver(python) (十五) 鼠标事件
  • 原文地址:https://www.cnblogs.com/pzk7788/p/10271873.html
Copyright © 2020-2023  润新知