颇为阿娇978 发表于 2018-8-1 06:28:57

saltstack数据系统之Grains-linux

  第一个应用场景:信息的搜集
  # salt 'linux-node1*' grains.ls            列出所有grains的名称
  # salt 'linux-node1*' grains.items         列出所有grains的内容
  # salt 'linux-node1*' grains.item fqdn
  linux-node1.example.com:
  ----------
  fqdn:
  linux-node1.example.com
  # salt 'linux-node1*' grains.get fqdn
  linux-node1.example.com:
  linux-node1.example.com
  # salt 'linux-node1*' grains.get ip_interfaces:eth0      查所有eth0的ip地址
  linux-node1.example.com:
  - 10.0.0.7
  - fe80::20c:29ff:fe5c:e013
  ###############################################################################################
  第二个应用场景:匹配minion
  # salt 'linux-node1*' grains.get os
  linux-node1.example.com:
  CentOS
  # salt -G os:CentOS cmd.run 'w'          -G:指的是使用grains进行匹配
  linux-node2.example.com:
  22:24:49 up1:06,1 user,load average: 0.00, 0.00, 0.00

  USER   TTY      FROM            LOGIN@>  root   pts/0    10.0.0.1         21:19   22:25   0.02s0.02s -bash
  linux-node1.example.com:
  22:24:49 up1:06,1 user,load average: 0.00, 0.04, 0.07

  USER   TTY      FROM            LOGIN@>  root   pts/0    10.0.0.1         21:19    1.00s1.09s0.86s /usr/bin/python
  第一种指定grains的方法,直接在配置文件中加
  # vim /etc/salt/minion
  82 grains:
  83   roles:
  84   - webserver
  85   - memcache
  重新启动minion
  # /etc/init.d/salt-minion restart
  Stopping salt-minion daemon:                               [确定]
  Starting salt-minion daemon:                               [确定]
  # salt -G 'roles:webserver' cmd.run 'df -Th'
  linux-node1.example.com:   =====只有linux-node1返回了结果,因为在linux-node1的配置文件中指定了角色

  Filesystem   Type>  /dev/sda3      ext4    19G1.8G   16G11% /
  tmpfs          tmpfs937M   16K937M   1% /dev/shm
  /dev/sda1      ext4   190M   36M145M20% /boot
  另外一种指定grains的方法:
  # cat /etc/salt/grains
  web: nginx
  # /etc/init.d/salt-minion restart
  Stopping salt-minion daemon:                               [确定]
  Starting salt-minion daemon:                               [确定]
  # salt -G web:nginx cmd.run 'w'
  linux-node1.example.com:   ===========只在设置了角色的机器上返回了值,匹配是成功的
  22:39:32 up1:21,1 user,load average: 0.15, 0.09, 0.06

  USER   TTY      FROM            LOGIN@>  root   pts/0    10.0.0.1         21:19    1.00s1.15s0.83s /usr/bin/python
  ###############################################################################################
  在top file里面指定grains
  # cat /srv/salt/top.sls
  base:
  'web:nginx':
  - match: grain
  - apache
  # salt '*' state.highstate         执行高级状态,则显示已匹配到的一台执行了
  老男孩网址:http://www.etiantian.org/
  qq:406564728
  欢迎提出宝贵建议
页: [1]
查看完整版本: saltstack数据系统之Grains-linux