grains
先来一个很好用的命令
# salt '*' grains.items \基本上输出了所有你想要的信息

192.168.100.138: ---------- SSDs: biosreleasedate: 07/02/2015 biosversion: 6.00 cpu_flags: - fpu - vme - de - pse - tsc - msr - pae - mce - cx8 - apic - sep - mtrr - pge - mca - cmov - pat - pse36 - clflush - dts - mmx - fxsr - sse - sse2 - ss - syscall - nx - pdpe1gb - rdtscp - lm - constant_tsc - arch_perfmon - pebs - bts - nopl - xtopology - tsc_reliable - nonstop_tsc - aperfmperf - eagerfpu - pni - pclmulqdq - ssse3 - fma - cx16 - pcid - sse4_1 - sse4_2 - x2apic - movbe - popcnt - tsc_deadline_timer - aes - xsave - avx - f16c - rdrand - hypervisor - lahf_lm - abm - ida - arat - epb - pln - pts - dtherm - fsgsbase - tsc_adjust - bmi1 - avx2 - smep - bmi2 - invpcid - xsaveopt cpu_model: Intel(R) Core(TM) i5-4460 CPU @ 3.20GHz cpuarch: x86_64 disks: - sda - sr0 dns: ---------- domain: ip4_nameservers: - 192.168.100.2 ip6_nameservers: nameservers: - 192.168.100.2 options: search: - localdomain sortlist: domain: localdomain fqdn: localhost.localdomain fqdn_ip4: - 127.0.0.1 fqdn_ip6: - ::1 gid: 0 gpus: |_ ---------- model: SVGA II Adapter vendor: unknown groupname: root host: localhost hwaddr_interfaces: ---------- eth0: 00:0c:29:2e:59:87 lo: 00:00:00:00:00:00 id: 192.168.100.138 init: systemd ip4_interfaces: ---------- eth0: - 192.168.100.138 lo: - 127.0.0.1 ip6_interfaces: ---------- eth0: - fe80::20c:29ff:fe2e:5987 lo: - ::1 ip_interfaces: ---------- eth0: - 192.168.100.138 - fe80::20c:29ff:fe2e:5987 lo: - 127.0.0.1 - ::1 ipv4: - 127.0.0.1 - 192.168.100.138 ipv6: - ::1 - fe80::20c:29ff:fe2e:5987 kernel: Linux kernelrelease: 3.10.0-514.10.2.el7.x86_64 locale_info: ---------- defaultencoding: UTF-8 defaultlanguage: en_US detectedencoding: UTF-8 localhost: localhost.localdomain lsb_distrib_codename: CentOS Linux 7 (Core) lsb_distrib_id: CentOS Linux machine_id: 06807f1cec6740758b2a9f926db710c3 manufacturer: VMware, Inc. master: 192.168.100.132 mdadm: mem_total: 472 nodename: localhost.localdomain num_cpus: 1 num_gpus: 1 os: CentOS os_family: RedHat osarch: x86_64 oscodename: CentOS Linux 7 (Core) osfinger: CentOS Linux-7 osfullname: CentOS Linux osmajorrelease: 7 osrelease: 7.3.1611 osrelease_info: - 7 - 3 - 1611 path: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/bin:/sbin pid: 17892 productname: VMware Virtual Platform ps: ps -efH pythonexecutable: /usr/bin/python pythonpath: - /usr/bin - /usr/lib64/python27.zip - /usr/lib64/python2.7 - /usr/lib64/python2.7/plat-linux2 - /usr/lib64/python2.7/lib-tk - /usr/lib64/python2.7/lib-old - /usr/lib64/python2.7/lib-dynload - /usr/lib64/python2.7/site-packages - /usr/lib/python2.7/site-packages pythonversion: - 2 - 7 - 5 - final - 0 saltpath: /usr/lib/python2.7/site-packages/salt saltversion: 2016.11.3 saltversioninfo: - 2016 - 11 - 3 - 0 selinux: ---------- enabled: False enforced: Disabled serialnumber: VMware-56 4d 9e a3 34 07 31 4d-71 3b ae ed f0 2e 59 87 server_id: 126441771 shell: /bin/sh systemd: ---------- features: +PAM +AUDIT +SELINUX +IMA -APPARMOR +SMACK +SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT +GNUTLS +ACL +XZ -LZ4 -SECCOMP +BLKID +ELFUTILS +KMOD +IDN version: 219 uid: 0 username: root uuid: a39e4d56-0734-4d31-713b-aeedf02e5987 virtual: VMware zmqversion: 4.1.4
自定义检索grains
##直接使用静态变量检索 # salt -G 'os:Centos' test.ping ##minino配置文件定义 # vim /etc/salt/minion \先在minino端定义grains grains: roles: mysql # salt -G 'roles:mysql' test.ping 192.168.100.138: True ##在sls中使用 # vim /etc/salt/states/top.sls base: '192.168.100.138': - init.pkg - init.limit 'roles:mysql': - match: grain - init.pkg
pillar
# vim /etc/salt/master \找到“pillar_roots:”删除注释 pillar_roots: base: - /etc/salt/pillar # mkdir /etc/salt/pillar # cd /etc/salt/pillar # vim top.sls base: '*': - init.rsyslog # mkdir init # cd init/ # vim rsyslog.sls {% if gtains['osrelease'] == '6.5' %} syslog: rsyslog {% esif gtains['osrelease'] == '5' %} syslog: syslog {% endif %}