salt-key -L /列出所有key,key格式是minion-id,如果没有配置minion-id,则是主机名
salt-key -A /接受所有key
salt-key -a “ZK-YJY-APP-01” /接受指定的key
salt-key -R /拒绝所有未接受的key
salt-key -D /删除所有key
salt-key -d “ZK-YJY-APP-01” /删除指定的key
Target搜索器
添加了minion的key后就可以免密码将命令传输到minion,并把执行结果返回来,方便的进行批量操作了,想象一下,如果有上W台服务器,而只想查看某些服务器的配置信息,怎么实现 ? 当然要有一个目标搜索器才行,saltstack的target搜索器非常强大,基于minion的id进行匹配,所以我们在部署minion之前要事先对minion的id做好规划(如果不配置minion的id,则默认是使用主机名,也要对主机名做好规划) glob方式
salt “*” test.ping
salt “ZK-YJY-APP-01” test.ping 正则表达式
salt “web*” test.ping
salt “web[0-9]NaNdb?” test.ping
salt “web-[x-z]” test.ping grains类
salt -G “os:CentOS” test.ping
salt -G "cpuarch:x86_64"test.ping 基于IP
salt -S "192.168.153.130"test.ping
salt -S "192.168.153.0/24"test.ping 基于节点组
需要先在/etc/salt/master中定义nodegroups,如下:
nodegroups:
group1: 'L@foo.domain.com,bar.domain.com,baz.domain.com’
group2: 'G@os:Debian and foo.domain.com'
group3: 'L@webserver01,webserver02'
salt -Ngroup3 test.ping 复合方式
本质是上面的方式结合在一起,形成更为复杂的条件:
salt -C 'webserv* and G@os:Debian orE@web-dc1-srv.*' test.ping Grains是啥
grains简单来说就是一个字典,{“os”:CentOS, “num_cpus”:8},字典就是这样的key-value的键值对的一个无序集合,里面存放着minion端的所有配置信息, 列出配置信息的分类,其实就是查看有哪些key
salt “*” grains.ls 列出配置信息的分类和具体分类信息,其实就是查看key-value
salt “*” grains.items 列出某个配置信息项的具体信息
salt “*” grains.item cpu_model ========================================================================================== 进阶篇States -------------------------------------------------------------------------------------------------------
这篇是为自动化部署作准备的,核心就是弄清楚States的使用技巧