1. 程式人生 > >SaltStack數據系統-Pillar詳解

SaltStack數據系統-Pillar詳解

serve linux code 5.1 refresh opts body ems mark

1:存儲位置

  • 存儲在master端,存放需要提供給minion的信息
  • 每個minion只能訪問master分配給自己的(應用場景)

    2:在centos7 salt 2015.5.10 (Lithium) 中pailar默認不是開啟的,需要手動開啟

    vim /etc/salt/master
    #更改如下內容
    pillar_opts: True
    執行如下命令進行測試
    salt "node3.crazylinux.xyz" pillar.items

    3:啟用pillars配置,套路和grains一樣

  • 指定pillars的文件目錄位置

    vim /etc/salt/master
    修改內容如下:
    pillar_roots:
      base:
    - /srv/pillar
  • 在/srv/pillar/目錄中寫了一個zabbix.sls

    vim zabbix.sls
    內容如下:
    Zabbix_Server: 192.168.31.102
  • 在/srv/pillar/目錄中寫了一個top.sls

    vim top.sls
    內容如下:
    base:
      ‘node3.crazylinux.xyz‘:
    - zabbix

    4:刷新pillar的數據

    salt ‘*‘ saltutil.refresh_pillar

    5:獲取一下pillar,進行測試

    salt ‘*‘ pillar.item Zabbix_Server
    #返回結果如下
    node2.crazylinux.xyz:
    ----------
    node3.crazylinux.xyz:
    ----------
    Zabbix_Server:
        192.168.31.102

    6:pillar匹配時使用的是-I選項

    salt -I ‘Zabbix_Server:192.168.31.102‘ test.ping
    返回結果如下:
    node3.crazylinux.xyz:
    True

    總結

    1:Grains存儲在minion端,是靜態數據,minion啟動時搜集,也可以使用saltutil.sync_grains進行刷新,存儲minion基本數據,比如用於匹配minion,資深數據可用來做資產管理。

    2:Pillar存儲在master端,是動態數據,在master端定義,指定給對應的minion。可以使用saltutil.refresh_pillar刷新,存儲master指定的數據,只有指定的minion可以看到。用於保存敏感數據。

SaltStack數據系統-Pillar詳解