-
正则匹配
# salt -E '192*' test.ping [WARNING ] Cannot resolve address None info via socket: <class 'socket.gaierror'> 192.168.0.62: True
列表匹配
#salt -L Minion,Minion1 test.pingGrians匹配
#salt -G 'os:MacOS' test.ping
其中os:MacOS是一组键值对组匹配
#salt -N groups test.ping.复合匹配
#salt -C 'G@os:MacOS or L@Minion1'
支持使用and 和or 关联多个条件Pillar值匹配
#salt -I 'key:value' test.pingCIDR匹配
#salt -s '192.168.1.0/24' test.ping
管理对象属性:
Grains是saltstack组件中非常重要的组件之一
Grains是saltstack记录Minion的一些静态信息的组件,可以简单理解为Grains里面记录着每台Minion的常用属性比如:CPU,内存,磁盘,网络信息。
可以通过:grains.items查看某台Minion的所有Grains信息
简单Grains的命令:
#salt '192.168.0.62' sys.list_functions grains
列出grains开头的
#salt '192.168.0.62' sys.list_functions
列出所有
# salt '192.168.0.62' sys.doc grains.append
查看帮助信息
数据管理中心
Pillar在saltstack中主要作用就是存储和定义配置管理中需要的一些数据,比如:软件版本号,用户名密码等信息。
# cat minion | grep -C 4 pillar_roots
# Salt caches should be cleared.
#hash_type: sha256
# The Salt pillar is searched for locally if file_client is set to local. If
# this is the case, and pillar data is defined, then the pillar_roots need to
# also be configured on the minion:
#pillar_roots:
# base:
# - /srv/pillar
# Set a hard-limit on the size of the files that can be pushed to the master.
知识补充:
如果在只是想匹配模式的上下几行,grep可以实现。
$grep -5 'parttern' inputfile //打印匹配行的前后5行
$grep -C 5 'parttern' inputfile //打印匹配行的前后5行
$grep -A 5 'parttern' inputfile //打印匹配行的后5行
$grep -B 5 'parttern' inputfile //打印匹配行的前5行
在Master 配置文件中有一段Pillar setting选项专门定义Pillar相关的参数:
- 查看所有module列表
#salt '*' sys.list_modules - 查看指定module的所有function
#salt '*' sys.list_functions cmd - 查看指定module用法
#salt '*' sys.doc cmd - saltstack默认支持一次执行多个Module
#salt '*' test.echo,cmd.run
states是saltstack中的配置语言
- 查看所有states列表
#salt '*' sys.list_state_modules - 查看指定states的所有function
#salt '*' sys.list_state_functions file - 查看file.states的详细用法与例子
#salt '*' sys.state_doc file.rename